Lines Matching refs:mm

26 void subpage_prot_free(struct mm_struct *mm)  in subpage_prot_free()  argument
28 struct subpage_prot_table *spt = &mm->context.spt; in subpage_prot_free()
53 void subpage_prot_init_new_context(struct mm_struct *mm) in subpage_prot_init_new_context() argument
55 struct subpage_prot_table *spt = &mm->context.spt; in subpage_prot_init_new_context()
60 static void hpte_flush_range(struct mm_struct *mm, unsigned long addr, in hpte_flush_range() argument
69 pgd = pgd_offset(mm, addr); in hpte_flush_range()
78 pte = pte_offset_map_lock(mm, pmd, addr, &ptl); in hpte_flush_range()
81 pte_update(mm, addr, pte, 0, 0, 0); in hpte_flush_range()
95 struct mm_struct *mm = current->mm; in subpage_prot_clear() local
96 struct subpage_prot_table *spt = &mm->context.spt; in subpage_prot_clear()
102 down_write(&mm->mmap_sem); in subpage_prot_clear()
128 hpte_flush_range(mm, addr, nw); in subpage_prot_clear()
130 up_write(&mm->mmap_sem); in subpage_prot_clear()
142 static void subpage_mark_vma_nohuge(struct mm_struct *mm, unsigned long addr, in subpage_mark_vma_nohuge() argument
147 .mm = mm, in subpage_mark_vma_nohuge()
155 vma = find_vma(mm, addr); in subpage_mark_vma_nohuge()
171 static void subpage_mark_vma_nohuge(struct mm_struct *mm, unsigned long addr, in subpage_mark_vma_nohuge() argument
190 struct mm_struct *mm = current->mm; in sys_subpage_prot() local
191 struct subpage_prot_table *spt = &mm->context.spt; in sys_subpage_prot()
203 if (is_hugepage_only_range(mm, addr, len)) in sys_subpage_prot()
215 down_write(&mm->mmap_sem); in sys_subpage_prot()
216 subpage_mark_vma_nohuge(mm, addr, len); in sys_subpage_prot()
242 demote_segment_4k(mm, addr); in sys_subpage_prot()
250 up_write(&mm->mmap_sem); in sys_subpage_prot()
255 down_write(&mm->mmap_sem); in sys_subpage_prot()
258 hpte_flush_range(mm, addr, nw); in sys_subpage_prot()
264 up_write(&mm->mmap_sem); in sys_subpage_prot()