| /linux-6.15/include/linux/ |
| H A D | mmap_lock.h | 128 down_write(&mm->mmap_lock); in mmap_write_lock() 129 mm_lock_seqcount_begin(mm); in mmap_write_lock() 137 mm_lock_seqcount_begin(mm); in mmap_write_lock_nested() 148 mm_lock_seqcount_begin(mm); in mmap_write_lock_killable() 163 mmap_assert_write_locked(mm); in vma_end_write_all() 164 mm_lock_seqcount_end(mm); in vma_end_write_all() 170 vma_end_write_all(mm); in mmap_write_unlock() 171 up_write(&mm->mmap_lock); in mmap_write_unlock() 177 vma_end_write_all(mm); in mmap_write_downgrade() 184 down_read(&mm->mmap_lock); in mmap_read_lock() [all …]
|
| H A D | mmu_notifier.h | 89 struct mm_struct *mm); 101 struct mm_struct *mm, 111 struct mm_struct *mm, 122 struct mm_struct *mm, 199 struct mm_struct *mm, 231 struct mm_struct *mm; member 251 struct mm_struct *mm; member 263 struct mm_struct *mm; member 283 mmap_write_lock(mm); in mmu_notifier_get() 285 mmap_write_unlock(mm); in mmu_notifier_get() [all …]
|
| H A D | page_table_check.h | 17 void __page_table_check_pte_clear(struct mm_struct *mm, pte_t pte); 18 void __page_table_check_pmd_clear(struct mm_struct *mm, pmd_t pmd); 19 void __page_table_check_pud_clear(struct mm_struct *mm, pud_t pud); 24 void __page_table_check_pte_clear_range(struct mm_struct *mm, 49 __page_table_check_pte_clear(mm, pte); in page_table_check_pte_clear() 57 __page_table_check_pmd_clear(mm, pmd); in page_table_check_pmd_clear() 65 __page_table_check_pud_clear(mm, pud); in page_table_check_pud_clear() 74 __page_table_check_ptes_set(mm, ptep, pte, nr); in page_table_check_ptes_set() 83 __page_table_check_pmd_set(mm, pmdp, pmd); in page_table_check_pmd_set() 92 __page_table_check_pud_set(mm, pudp, pud); in page_table_check_pud_set() [all …]
|
| H A D | ksm.h | 22 int ksm_enable_merge_any(struct mm_struct *mm); 24 int ksm_disable(struct mm_struct *mm); 26 int __ksm_enter(struct mm_struct *mm); 27 void __ksm_exit(struct mm_struct *mm); 40 atomic_long_inc(&mm->ksm_zero_pages); in ksm_map_zero_page() 47 atomic_long_dec(&mm->ksm_zero_pages); in ksm_might_unmap_zero_page() 60 __ksm_enter(mm); in ksm_fork() 65 if (test_bit(MMF_VM_MERGE_ANY, &mm->flags)) in ksm_execve() 66 return __ksm_enter(mm); in ksm_execve() 73 if (test_bit(MMF_VM_MERGEABLE, &mm->flags)) in ksm_exit() [all …]
|
| /linux-6.15/arch/x86/include/asm/ |
| H A D | mmu_context.h | 57 mm->context.ldt = NULL; in init_new_context_ldt() 66 struct mm_struct *mm) in ldt_dup_context() argument 170 mm_init_global_asid(mm); in init_new_context() 171 mm_reset_untag_mask(mm); in init_new_context() 172 init_new_context_ldt(mm); in init_new_context() 179 destroy_context_ldt(mm); in destroy_context() 180 mm_free_global_asid(mm); in destroy_context() 211 struct mm_struct *mm) in arch_dup_pkeys() argument 226 paravirt_enter_mmap(mm); in arch_dup_mmap() 227 dup_lam(oldmm, mm); in arch_dup_mmap() [all …]
|
| /linux-6.15/drivers/gpu/drm/ |
| H A D | drm_buddy.c | 260 mm->free_list = kmalloc_array(mm->max_order + 1, in drm_buddy_init() 271 mm->roots = kmalloc_array(mm->n_roots, in drm_buddy_init() 312 drm_block_free(mm, mm->roots[i]); in drm_buddy_init() 343 drm_block_free(mm, mm->roots[i]); in drm_buddy_fini() 349 WARN_ON(mm->avail != mm->size); in drm_buddy_fini() 417 mm->avail += drm_buddy_block_size(mm, block); in drm_buddy_free_block() 732 mm->avail -= drm_buddy_block_size(mm, block); in __alloc_range() 924 mm->avail += drm_buddy_block_size(mm, block); in drm_buddy_block_trim() 936 mm->avail -= drm_buddy_block_size(mm, block); in drm_buddy_block_trim() 1080 mm->avail -= drm_buddy_block_size(mm, block); in drm_buddy_alloc_blocks() [all …]
|
| /linux-6.15/arch/powerpc/include/asm/ |
| H A D | mmu_context.h | 122 atomic_inc(&mm->context.active_cpus); in inc_mm_active_cpus() 128 atomic_dec(&mm->context.active_cpus); in dec_mm_active_cpus() 139 inc_mm_active_cpus(mm); in mm_context_add_copro() 165 radix__flush_all_mm(mm); in mm_context_remove_copro() 172 dec_mm_active_cpus(mm); in mm_context_remove_copro() 190 mm_context_add_copro(mm); in mm_context_add_vas_window() 197 mm_context_remove_copro(mm); in mm_context_remove_vas_window() 272 #define pkey_mm_init(mm) argument 273 #define arch_dup_pkeys(oldmm, mm) argument 283 struct mm_struct *mm) in arch_dup_mmap() argument [all …]
|
| /linux-6.15/drivers/gpu/drm/tests/ |
| H A D | drm_buddy_test.c | 31 struct drm_buddy mm; in drm_test_buddy_alloc_range_bias() local 166 drm_buddy_fini(&mm); in drm_test_buddy_alloc_range_bias() 226 drm_buddy_fini(&mm); in drm_test_buddy_alloc_range_bias() 258 drm_buddy_fini(&mm); in drm_test_buddy_alloc_range_bias() 268 struct drm_buddy mm; in drm_test_buddy_alloc_clear() local 333 drm_buddy_fini(&mm); in drm_test_buddy_alloc_clear() 384 drm_buddy_fini(&mm); in drm_test_buddy_alloc_clear() 410 drm_buddy_fini(&mm); in drm_test_buddy_alloc_clear() 735 size = mm.chunk_size << mm.max_order; in drm_test_buddy_alloc_limit() 747 BIT_ULL(mm.max_order) * mm.chunk_size, in drm_test_buddy_alloc_limit() [all …]
|
| /linux-6.15/arch/s390/include/asm/ |
| H A D | pgalloc.h | 42 if (addr + len > mm->context.asce_limit && in check_asce_limit() 44 rc = crst_table_upgrade(mm, addr + len); in check_asce_limit() 65 if (mm_p4d_folded(mm)) in p4d_free() 86 if (mm_pud_folded(mm)) in pud_free() 101 crst_table_free(mm, table); in pmd_alloc_one() 109 if (mm_pmd_folded(mm)) in pmd_free() 153 #define pmd_populate_kernel(mm, pmd, pte) pmd_populate(mm, pmd, pte) argument 158 #define pte_alloc_one_kernel(mm) ((pte_t *)page_table_alloc(mm)) argument 159 #define pte_alloc_one(mm) ((pte_t *)page_table_alloc(mm)) argument 161 #define pte_free_kernel(mm, pte) page_table_free(mm, (unsigned long *) pte) argument [all …]
|
| H A D | mmu_context.h | 20 struct mm_struct *mm) in init_new_context() argument 24 spin_lock_init(&mm->context.lock); in init_new_context() 29 mm->context.gmap_asce = 0; in init_new_context() 30 mm->context.flush_mm = 0; in init_new_context() 32 mm->context.has_pgste = 0; in init_new_context() 33 mm->context.uses_skeys = 0; in init_new_context() 34 mm->context.uses_cmm = 0; in init_new_context() 64 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in init_new_context() 101 struct mm_struct *mm = tsk->mm; in finish_arch_post_lock_switch() local 103 if (mm) { in finish_arch_post_lock_switch() [all …]
|
| /linux-6.15/arch/m68k/include/asm/ |
| H A D | mmu_context.h | 45 mm->context = ctx; in get_mmu_context() 46 context_mm[ctx] = mm; in get_mmu_context() 52 #define init_new_context(tsk, mm) (((mm)->context = NO_CONTEXT), 0) argument 85 struct mm_struct *mm) in activate_mm() argument 87 get_mmu_context(mm); in activate_mm() 88 set_context(mm->context, mm->pgd); in activate_mm() 115 mm = &init_mm; in load_ksp_mmu() 118 mm = task->mm; in load_ksp_mmu() 121 if (!mm) in load_ksp_mmu() 190 mm->context = get_free_context(mm); in get_mmu_context() [all …]
|
| /linux-6.15/mm/ |
| H A D | mmu_notifier.c | 269 .mm = mm, in mn_itree_release() 659 mmgrab(mm); in __mmu_notifier_register() 660 subscription->mm = mm; in __mmu_notifier_register() 835 mmdrop(mm); in mmu_notifier_unregister() 843 struct mm_struct *mm = subscription->mm; in mmu_notifier_free_rcu() local 847 mmdrop(mm); in mmu_notifier_free_rcu() 874 struct mm_struct *mm = subscription->mm; in mmu_notifier_put() local 895 interval_sub->mm = mm; in __mmu_interval_notifier_insert() 913 mmgrab(mm); in __mmu_interval_notifier_insert() 1040 struct mm_struct *mm = interval_sub->mm; in mmu_interval_notifier_remove() local [all …]
|
| H A D | mmap.c | 111 return mlock_future_ok(current->mm, current->mm->def_flags, len) in check_brk_limits() 118 struct mm_struct *mm = current->mm; in SYSCALL_DEFINE1() local 153 mm->end_data, mm->start_data)) in SYSCALL_DEFINE1() 159 mm->brk = brk; in SYSCALL_DEFINE1() 175 mm->brk = brk; in SYSCALL_DEFINE1() 200 mm->brk = brk; in SYSCALL_DEFINE1() 343 struct mm_struct *mm = current->mm; in do_mmap() local 695 struct mm_struct *mm = current->mm; in generic_get_unmapped_area() local 745 struct mm_struct *mm = current->mm; in generic_get_unmapped_area_topdown() local 1095 struct mm_struct *mm = current->mm; in SYSCALL_DEFINE5() local [all …]
|
| /linux-6.15/tools/testing/vma/ |
| H A D | vma.c | 247 mm->map_count = 0; in cleanup_mm() 277 .mm = &mm, in test_simple_merge() 417 .mm = &mm, in test_merge_new() 613 .mm = &mm, in test_vma_merge_special_flags() 685 .mm = &mm, in test_vma_merge_with_close() 894 .mm = &mm, in test_vma_merge_new_with_close() 950 .mm = &mm, in test_merge_existing() 1180 .mm = &mm, in test_anon_vma_non_mergeable() 1287 .mm = &mm, in test_dup_anon_vma() 1447 .mm = &mm, in test_vmi_prealloc_fail() [all …]
|
| /linux-6.15/arch/powerpc/mm/book3s64/ |
| H A D | mmu_context.c | 101 if (!mm->context.hash_context) in hash__init_new_context() 118 if (mm->context.id == 0) { in hash__init_new_context() 146 pkey_mm_init(mm); in hash__init_new_context() 207 mm->context.id = index; in init_new_context() 209 mm->context.pte_frag = NULL; in init_new_context() 210 mm->context.pmd_frag = NULL; in init_new_context() 212 mm_iommu_init(mm); in init_new_context() 265 frag = mm->context.pte_frag; in destroy_pagetable_cache() 269 frag = mm->context.pmd_frag; in destroy_pagetable_cache() 296 subpage_prot_free(mm); in destroy_context() [all …]
|
| H A D | slice.c | 93 vma = find_vma(mm, addr); in slice_area_is_free() 127 if (!slice_low_has_vma(mm, i)) in slice_mask_for_free() 134 if (!slice_high_has_vma(mm, i)) in slice_mask_for_free() 173 struct mm_struct *mm = parm; in slice_flush_segments() local 176 if (mm != current->active_mm) in slice_flush_segments() 252 spu_flush_all_slbs(mm); in slice_convert() 385 return slice_find_area_topdown(mm, mm->mmap_base, len, mask, psize, high_limit); in slice_find_area() 387 return slice_find_area_bottomup(mm, mm->mmap_base, len, mask, psize, high_limit); in slice_find_area() 436 struct mm_struct *mm = current->mm; in slice_get_unmapped_area() local 467 BUG_ON(mm->task_size == 0); in slice_get_unmapped_area() [all …]
|
| /linux-6.15/arch/sparc/include/asm/ |
| H A D | mmu_context_64.h | 29 void destroy_context(struct mm_struct *mm); 40 __tsb_context_switch(__pa(mm->pgd), in tsb_context_switch_ctx() 55 void tsb_grow(struct mm_struct *mm, 59 void smp_tsb_sync(struct mm_struct *mm); 86 if (unlikely(mm == &init_mm)) in switch_mm() 90 ctx_valid = CTX_VALID(mm->context); in switch_mm() 92 get_new_mmu_context(mm); in switch_mm() 124 tsb_context_switch_ctx(mm, CTX_HWBITS(mm->context)); in switch_mm() 131 cpumask_set_cpu(cpu, mm_cpumask(mm)); in switch_mm() 138 #define activate_mm(active_mm, mm) switch_mm(active_mm, mm, NULL) argument [all …]
|
| /linux-6.15/Documentation/core-api/ |
| H A D | mm-api.rst | 14 .. kernel-doc:: mm/gup.c 40 .. kernel-doc:: mm/slub.c 46 .. kernel-doc:: mm/util.c 52 .. kernel-doc:: mm/vmalloc.c 103 .. kernel-doc:: mm/memory.c 116 .. kernel-doc:: mm/util.c 119 .. kernel-doc:: mm/rmap.c 121 .. kernel-doc:: mm/mmap.c 126 .. kernel-doc:: mm/swap.c 127 .. kernel-doc:: mm/zpool.c [all …]
|
| /linux-6.15/arch/arm/include/asm/ |
| H A D | mmu_context.h | 32 __check_vmalloc_seq(mm); in check_vmalloc_seq() 44 atomic64_set(&mm->context.id, 0); in init_new_context() 65 check_vmalloc_seq(mm); in check_and_switch_context() 75 mm->context.switch_pending = 1; in check_and_switch_context() 77 cpu_switch_mm(mm->pgd, mm); in check_and_switch_context() 85 struct mm_struct *mm = current->mm; in finish_arch_post_lock_switch() local 87 if (mm && mm->context.switch_pending) { in finish_arch_post_lock_switch() 96 mm->context.switch_pending = 0; in finish_arch_post_lock_switch() 97 cpu_switch_mm(mm->pgd, mm); in finish_arch_post_lock_switch() 144 if (mm != &init_mm) in enter_lazy_tlb() [all …]
|
| /linux-6.15/arch/s390/mm/ |
| H A D | pgtable.c | 111 mm->context.flush_mm = 1; in ptep_flush_lazy() 178 struct mm_struct *mm) in pgste_set_key() argument 243 if (mm_has_pgste(mm)) { in ptep_xchg_start() 254 if (mm_has_pgste(mm)) { in ptep_xchg_commit() 342 if (mm_has_pgste(mm)) { in ptep_modify_prot_start() 355 if (mm_has_pgste(mm)) { in ptep_modify_prot_commit() 374 if (mm_has_pgste(mm) && mm->context.allow_gmap_hpage_1m) in pmdp_idte_local() 384 if (mm_has_pgste(mm) && mm->context.allow_gmap_hpage_1m) in pmdp_idte_global() 388 if (mm_has_pgste(mm) && mm->context.allow_gmap_hpage_1m) in pmdp_idte_global() 392 if (mm_has_pgste(mm) && mm->context.allow_gmap_hpage_1m) in pmdp_idte_global() [all …]
|
| /linux-6.15/arch/arm/mm/ |
| H A D | pgd.c | 23 #define _pgd_alloc(mm) __pgd_alloc(mm, 2) argument 24 #define _pgd_free(mm, pgd) __pgd_free(mm, pgd) argument 129 mm_dec_nr_pmds(mm); in pgd_alloc() 169 pte_free(mm, pte); in pgd_free() 170 mm_dec_nr_ptes(mm); in pgd_free() 173 pmd_free(mm, pmd); in pgd_free() 174 mm_dec_nr_pmds(mm); in pgd_free() 177 pud_free(mm, pud); in pgd_free() 180 p4d_free(mm, p4d); in pgd_free() 199 pmd_free(mm, pmd); in pgd_free() [all …]
|
| /linux-6.15/include/linux/sched/ |
| H A D | mm.h | 37 atomic_inc(&mm->mm_count); in mmgrab() 55 __mmdrop(mm); in mmdrop() 67 __mmdrop(mm); in __mmdrop_delayed() 77 if (atomic_dec_and_test(&mm->mm_count)) in mmdrop_sched() 83 mmdrop(mm); in mmdrop_sched() 91 mmgrab(mm); in mmgrab_lazy_tlb() 97 mmdrop(mm); in mmdrop_lazy_tlb() 110 mmdrop_sched(mm); in mmdrop_lazy_tlb_sched() 133 atomic_inc(&mm->mm_users); in mmget() 238 rcu_dereference(tsk->real_parent)->mm == tsk->mm; in in_vfork() [all …]
|
| /linux-6.15/arch/x86/kernel/ |
| H A D | ldt.c | 143 load_mm_ldt(mm); in flush_ldt() 193 if (mm->context.ldt) { in do_sanity_check() 429 on_each_cpu_mask(mm_cpumask(mm), flush_ldt, mm, true); in install_ldt() 475 free_ldt_pgtables(mm); in ldt_dup_context() 494 mm->context.ldt = NULL; in destroy_context_ldt() 499 free_ldt_pgtables(mm); in ldt_arch_exit_mmap() 504 struct mm_struct *mm = current->mm; in read_ldt() local 510 if (!mm->context.ldt) { in read_ldt() 580 struct mm_struct *mm = current->mm; in write_ldt() local 651 free_ldt_pgtables(mm); in write_ldt() [all …]
|
| /linux-6.15/arch/sparc/mm/ |
| H A D | tsb.c | 121 struct mm_struct *mm = tb->mm; in flush_tsb_user() local 524 tsb_context_switch(mm); in tsb_grow() 528 smp_tsb_sync(mm); in tsb_grow() 545 spin_lock_init(&mm->context.lock); in init_new_context() 549 mm->context.tag_store = NULL; in init_new_context() 560 mm->context.thp_pte_count = 0; in init_new_context() 579 tsb_grow(mm, MM_TSB_HUGE, in init_new_context() 611 if (CTX_VALID(mm->context)) { in destroy_context() 619 if (mm->context.tag_store) { in destroy_context() 632 kfree(mm->context.tag_store); in destroy_context() [all …]
|
| /linux-6.15/arch/arm64/include/asm/ |
| H A D | mmu_context.h | 61 cpu_do_switch_mm(virt_to_phys(pgd),mm); in cpu_switch_mm() 109 cpu_switch_mm(mm->pgd, mm); in cpu_uninstall_idmap() 173 #define init_new_context(tsk, mm) init_new_context(tsk, mm) argument 177 atomic64_set(&mm->context.id, 0); in init_new_context() 187 struct mm_struct *mm) in arch_dup_pkeys() argument 195 arch_dup_pkeys(oldmm, mm); in arch_dup_mmap() 211 struct mm_struct *mm) in update_saved_ttbr0() argument 218 if (mm == &init_mm) in update_saved_ttbr0() 221 ttbr = phys_to_ttbr(virt_to_phys(mm->pgd)) | ASID(mm) << 48; in update_saved_ttbr0() 227 struct mm_struct *mm) in update_saved_ttbr0() argument [all …]
|