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()
121 static inline bool transhuge_vma_suitable(struct vm_area_struct *vma, in transhuge_vma_suitable() argument
125 if (!vma_is_anonymous(vma)) { in transhuge_vma_suitable()
126 if (!IS_ALIGNED((vma->vm_start >> PAGE_SHIFT) - vma->vm_pgoff, in transhuge_vma_suitable()
131 if (haddr < vma->vm_start || haddr + HPAGE_PMD_SIZE > vma->vm_end) in transhuge_vma_suitable()
136 static inline bool transhuge_vma_enabled(struct vm_area_struct *vma, in transhuge_vma_enabled() argument
141 test_bit(MMF_DISABLE_THP, &vma->vm_mm->flags)) in transhuge_vma_enabled()
150 static inline bool __transparent_hugepage_enabled(struct vm_area_struct *vma) in __transparent_hugepage_enabled() argument
159 if (!transhuge_vma_enabled(vma, vma->vm_flags)) in __transparent_hugepage_enabled()
162 if (vma_is_temporary_stack(vma)) in __transparent_hugepage_enabled()
168 if (vma_is_dax(vma)) in __transparent_hugepage_enabled()
173 return !!(vma->vm_flags & VM_HUGEPAGE); in __transparent_hugepage_enabled()
178 bool transparent_hugepage_active(struct vm_area_struct *vma);
199 void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,
212 void split_huge_pmd_address(struct vm_area_struct *vma, unsigned long address,
215 void __split_huge_pud(struct vm_area_struct *vma, pud_t *pud,
226 int hugepage_madvise(struct vm_area_struct *vma, unsigned long *vm_flags,
228 void vma_adjust_trans_huge(struct vm_area_struct *vma, unsigned long start,
230 spinlock_t *__pmd_trans_huge_lock(pmd_t *pmd, struct vm_area_struct *vma);
231 spinlock_t *__pud_trans_huge_lock(pud_t *pud, struct vm_area_struct *vma);
240 struct vm_area_struct *vma) in pmd_trans_huge_lock() argument
243 return __pmd_trans_huge_lock(pmd, vma); in pmd_trans_huge_lock()
248 struct vm_area_struct *vma) in pud_trans_huge_lock() argument
251 return __pud_trans_huge_lock(pud, vma); in pud_trans_huge_lock()
289 struct page *follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr,
291 struct page *follow_devmap_pud(struct vm_area_struct *vma, unsigned long addr,
360 static inline bool __transparent_hugepage_enabled(struct vm_area_struct *vma) in __transparent_hugepage_enabled() argument
365 static inline bool transparent_hugepage_active(struct vm_area_struct *vma) in transparent_hugepage_active() argument
370 static inline bool transhuge_vma_suitable(struct vm_area_struct *vma, in transhuge_vma_suitable() argument
376 static inline bool transhuge_vma_enabled(struct vm_area_struct *vma, in transhuge_vma_enabled() argument
412 static inline void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, in __split_huge_pmd() argument
414 static inline void split_huge_pmd_address(struct vm_area_struct *vma, in split_huge_pmd_address() argument
420 static inline int hugepage_madvise(struct vm_area_struct *vma, in hugepage_madvise() argument
426 static inline void vma_adjust_trans_huge(struct vm_area_struct *vma, in vma_adjust_trans_huge() argument
437 struct vm_area_struct *vma) in pmd_trans_huge_lock() argument
442 struct vm_area_struct *vma) in pud_trans_huge_lock() argument
473 static inline struct page *follow_devmap_pmd(struct vm_area_struct *vma, in follow_devmap_pmd() argument
479 static inline struct page *follow_devmap_pud(struct vm_area_struct *vma, in follow_devmap_pud() argument