Lines Matching refs:vma
17 struct vm_area_struct *vma);
28 struct page *follow_trans_huge_pmd(struct vm_area_struct *vma,
31 bool madvise_free_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma,
33 int zap_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma, pmd_t *pmd,
35 int zap_huge_pud(struct mmu_gather *tlb, struct vm_area_struct *vma, pud_t *pud,
37 bool move_huge_pmd(struct vm_area_struct *vma, unsigned long old_addr,
39 int change_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, unsigned long addr,
58 return vmf_insert_pfn_pmd_prot(vmf, pfn, vmf->vma->vm_page_prot, write); in vmf_insert_pfn_pmd()
77 return vmf_insert_pfn_pud_prot(vmf, pfn, vmf->vma->vm_page_prot, write); in vmf_insert_pfn_pud()
118 static inline bool transhuge_vma_suitable(struct vm_area_struct *vma, in transhuge_vma_suitable() argument
122 if (!vma_is_anonymous(vma)) { in transhuge_vma_suitable()
123 if (!IS_ALIGNED((vma->vm_start >> PAGE_SHIFT) - vma->vm_pgoff, in transhuge_vma_suitable()
128 if (haddr < vma->vm_start || haddr + HPAGE_PMD_SIZE > vma->vm_end) in transhuge_vma_suitable()
133 static inline bool transhuge_vma_enabled(struct vm_area_struct *vma, in transhuge_vma_enabled() argument
138 test_bit(MMF_DISABLE_THP, &vma->vm_mm->flags)) in transhuge_vma_enabled()
147 static inline bool __transparent_hugepage_enabled(struct vm_area_struct *vma) in __transparent_hugepage_enabled() argument
156 if (!transhuge_vma_enabled(vma, vma->vm_flags)) in __transparent_hugepage_enabled()
159 if (vma_is_temporary_stack(vma)) in __transparent_hugepage_enabled()
165 if (vma_is_dax(vma)) in __transparent_hugepage_enabled()
170 return !!(vma->vm_flags & VM_HUGEPAGE); in __transparent_hugepage_enabled()
175 bool transparent_hugepage_active(struct vm_area_struct *vma);
196 void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,
209 void split_huge_pmd_address(struct vm_area_struct *vma, unsigned long address,
212 void __split_huge_pud(struct vm_area_struct *vma, pud_t *pud,
223 int hugepage_madvise(struct vm_area_struct *vma, unsigned long *vm_flags,
225 void vma_adjust_trans_huge(struct vm_area_struct *vma, unsigned long start,
227 spinlock_t *__pmd_trans_huge_lock(pmd_t *pmd, struct vm_area_struct *vma);
228 spinlock_t *__pud_trans_huge_lock(pud_t *pud, struct vm_area_struct *vma);
237 struct vm_area_struct *vma) in pmd_trans_huge_lock() argument
240 return __pmd_trans_huge_lock(pmd, vma); in pmd_trans_huge_lock()
245 struct vm_area_struct *vma) in pud_trans_huge_lock() argument
248 return __pud_trans_huge_lock(pud, vma); in pud_trans_huge_lock()
286 struct page *follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr,
288 struct page *follow_devmap_pud(struct vm_area_struct *vma, unsigned long addr,
357 static inline bool __transparent_hugepage_enabled(struct vm_area_struct *vma) in __transparent_hugepage_enabled() argument
362 static inline bool transparent_hugepage_active(struct vm_area_struct *vma) in transparent_hugepage_active() argument
367 static inline bool transhuge_vma_suitable(struct vm_area_struct *vma, in transhuge_vma_suitable() argument
373 static inline bool transhuge_vma_enabled(struct vm_area_struct *vma, in transhuge_vma_enabled() argument
409 static inline void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, in __split_huge_pmd() argument
411 static inline void split_huge_pmd_address(struct vm_area_struct *vma, in split_huge_pmd_address() argument
417 static inline int hugepage_madvise(struct vm_area_struct *vma, in hugepage_madvise() argument
423 static inline void vma_adjust_trans_huge(struct vm_area_struct *vma, in vma_adjust_trans_huge() argument
434 struct vm_area_struct *vma) in pmd_trans_huge_lock() argument
439 struct vm_area_struct *vma) in pud_trans_huge_lock() argument
469 static inline struct page *follow_devmap_pmd(struct vm_area_struct *vma, in follow_devmap_pmd() argument
475 static inline struct page *follow_devmap_pud(struct vm_area_struct *vma, in follow_devmap_pud() argument