/openbmc/linux/include/linux/ |
H A D | mmap_lock.h | 66 VM_BUG_ON_MM(!rwsem_is_locked(&mm->mmap_lock), mm); in mmap_assert_locked() 72 VM_BUG_ON_MM(!rwsem_is_locked(&mm->mmap_lock), mm); in mmap_assert_write_locked() 86 mmap_assert_write_locked(mm); in vma_end_write_all() 94 smp_store_release(&mm->mm_lock_seq, mm->mm_lock_seq + 1); in vma_end_write_all() 102 init_rwsem(&mm->mmap_lock); in mmap_init_lock() 108 down_write(&mm->mmap_lock); in mmap_write_lock() 132 vma_end_write_all(mm); in mmap_write_unlock() 133 up_write(&mm->mmap_lock); in mmap_write_unlock() 139 vma_end_write_all(mm); in mmap_write_downgrade() 146 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, 208 struct mm_struct *mm, 240 struct mm_struct *mm; member 260 struct mm_struct *mm; member 272 struct mm_struct *mm; member 292 mmap_write_lock(mm); in mmu_notifier_get() 294 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 …]
|
/openbmc/linux/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 142 struct mm_struct *mm) in init_new_context() argument 157 mm_reset_untag_mask(mm); in init_new_context() 158 init_new_context_ldt(mm); in init_new_context() 165 destroy_context_ldt(mm); in destroy_context() 196 struct mm_struct *mm) in arch_dup_pkeys() argument 210 arch_dup_pkeys(oldmm, mm); in arch_dup_mmap() 211 paravirt_enter_mmap(mm); in arch_dup_mmap() 212 dup_lam(oldmm, mm); in arch_dup_mmap() [all …]
|
H A D | pkeys.h | 30 return __execute_only_pkey(mm); in execute_only_pkey() 46 #define mm_pkey_allocation_map(mm) (mm->context.pkey_allocation_map) argument 47 #define mm_set_pkey_allocated(mm, pkey) do { \ argument 48 mm_pkey_allocation_map(mm) |= (1U << pkey); \ 50 #define mm_set_pkey_free(mm, pkey) do { \ argument 71 if (pkey == mm->context.execute_only_pkey) in mm_pkey_is_allocated() 81 int mm_pkey_alloc(struct mm_struct *mm) in mm_pkey_alloc() argument 100 ret = ffz(mm_pkey_allocation_map(mm)); in mm_pkey_alloc() 102 mm_set_pkey_allocated(mm, ret); in mm_pkey_alloc() 110 if (!mm_pkey_is_allocated(mm, pkey)) in mm_pkey_free() [all …]
|
/openbmc/linux/drivers/gpu/drm/ |
H A D | drm_buddy.c | 120 mm->free_list = kmalloc_array(mm->max_order + 1, in drm_buddy_init() 131 mm->roots = kmalloc_array(mm->n_roots, in drm_buddy_init() 172 drm_block_free(mm, mm->roots[i]); in drm_buddy_init() 193 drm_block_free(mm, mm->roots[i]); in drm_buddy_fini() 196 WARN_ON(mm->avail != mm->size); in drm_buddy_fini() 297 mm->avail += drm_buddy_block_size(mm, block); in drm_buddy_free_block() 533 mm->avail -= drm_buddy_block_size(mm, block); in __alloc_range() 631 mm->avail += drm_buddy_block_size(mm, block); in drm_buddy_block_trim() 642 mm->avail -= drm_buddy_block_size(mm, block); in drm_buddy_block_trim() 735 mm->avail -= drm_buddy_block_size(mm, block); in drm_buddy_alloc_blocks() [all …]
|
/openbmc/linux/arch/powerpc/include/asm/ |
H A D | mmu_context.h | 125 atomic_inc(&mm->context.active_cpus); in inc_mm_active_cpus() 142 inc_mm_active_cpus(mm); in mm_context_add_copro() 168 radix__flush_all_mm(mm); in mm_context_remove_copro() 175 dec_mm_active_cpus(mm); in mm_context_remove_copro() 193 mm_context_add_copro(mm); in mm_context_add_vas_window() 200 mm_context_remove_copro(mm); in mm_context_remove_vas_window() 269 mm->context.vdso = NULL; in arch_unmap() 284 #define pkey_mm_init(mm) argument 285 #define arch_dup_pkeys(oldmm, mm) argument 295 struct mm_struct *mm) in arch_dup_mmap() argument [all …]
|
/openbmc/linux/arch/s390/include/asm/ |
H A D | pgalloc.h | 46 rc = crst_table_upgrade(mm, addr + len); in check_asce_limit() 64 if (!mm_p4d_folded(mm)) in p4d_free() 78 if (!mm_pud_folded(mm)) in pud_free() 90 crst_table_free(mm, table); in pmd_alloc_one() 98 if (mm_pmd_folded(mm)) in pmd_free() 121 return (pgd_t *) crst_table_alloc(mm); in pgd_alloc() 135 #define pmd_populate_kernel(mm, pmd, pte) pmd_populate(mm, pmd, pte) argument 140 #define pte_alloc_one_kernel(mm) ((pte_t *)page_table_alloc(mm)) argument 141 #define pte_alloc_one(mm) ((pte_t *)page_table_alloc(mm)) argument 143 #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 30 mm->context.gmap_asce = 0; in init_new_context() 31 mm->context.flush_mm = 0; in init_new_context() 35 (current->mm && current->mm->context.alloc_pgste); in init_new_context() 36 mm->context.has_pgste = 0; in init_new_context() 37 mm->context.uses_skeys = 0; in init_new_context() 38 mm->context.uses_cmm = 0; in init_new_context() 67 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in init_new_context() 104 struct mm_struct *mm = tsk->mm; in finish_arch_post_lock_switch() local 106 if (mm) { in finish_arch_post_lock_switch() [all …]
|
/openbmc/linux/mm/ |
H A D | debug.c | 192 mm, mm->task_size, in dump_mm() 196 mm->mmap_base, mm->mmap_legacy_base, in dump_mm() 197 mm->pgd, atomic_read(&mm->mm_users), in dump_mm() 201 mm->hiwater_rss, mm->hiwater_vm, mm->total_vm, mm->locked_vm, in dump_mm() 203 mm->data_vm, mm->exec_vm, mm->stack_vm, in dump_mm() 204 mm->start_code, mm->end_code, mm->start_data, mm->end_data, in dump_mm() 205 mm->start_brk, mm->brk, mm->start_stack, in dump_mm() 206 mm->arg_start, mm->arg_end, mm->env_start, mm->env_end, in dump_mm() 207 mm->binfmt, mm->flags, in dump_mm() 219 mm->numa_next_scan, mm->numa_scan_offset, mm->numa_scan_seq, in dump_mm() [all …]
|
H A D | mmu_notifier.c | 267 .mm = mm, in mn_itree_release() 674 mmgrab(mm); in __mmu_notifier_register() 675 subscription->mm = mm; in __mmu_notifier_register() 850 mmdrop(mm); in mmu_notifier_unregister() 858 struct mm_struct *mm = subscription->mm; in mmu_notifier_free_rcu() local 862 mmdrop(mm); in mmu_notifier_free_rcu() 889 struct mm_struct *mm = subscription->mm; in mmu_notifier_put() local 910 interval_sub->mm = mm; in __mmu_interval_notifier_insert() 928 mmgrab(mm); in __mmu_interval_notifier_insert() 1055 struct mm_struct *mm = interval_sub->mm; in mmu_interval_notifier_remove() local [all …]
|
/openbmc/linux/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 …]
|
/openbmc/linux/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() 251 copro_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 …]
|
/openbmc/linux/drivers/gpu/drm/tests/ |
H A D | drm_buddy_test.c | 211 if (!mm->n_roots) { in check_mm() 216 if (mm->n_roots != hweight64(mm->size)) { in check_mm() 218 mm->n_roots, hweight64(mm->size)); in check_mm() 230 root = mm->roots[i]; in check_mm() 332 struct drm_buddy mm; in drm_test_buddy_alloc_pathological() local 403 drm_buddy_fini(&mm); in drm_test_buddy_alloc_pathological() 410 struct drm_buddy mm; in drm_test_buddy_alloc_smoke() local 493 drm_buddy_fini(&mm); in drm_test_buddy_alloc_smoke() 502 struct drm_buddy mm; in drm_test_buddy_alloc_pessimistic() local 653 rem = mm.size; in drm_test_buddy_alloc_range() [all …]
|
/openbmc/linux/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 …]
|
/openbmc/linux/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 …]
|
/openbmc/linux/Documentation/core-api/ |
H A D | mm-api.rst | 14 .. kernel-doc:: mm/gup.c 40 .. kernel-doc:: mm/slab.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 …]
|
/openbmc/linux/arch/s390/mm/ |
H A D | pgtable.c | 119 mm->context.flush_mm = 1; in ptep_flush_lazy() 195 struct mm_struct *mm) in pgste_set_key() argument 260 if (mm_has_pgste(mm)) { in ptep_xchg_start() 271 if (mm_has_pgste(mm)) { in ptep_xchg_commit() 359 if (mm_has_pgste(mm)) { in ptep_modify_prot_start() 374 if (mm_has_pgste(mm)) { in ptep_modify_prot_commit() 393 if (mm_has_pgste(mm) && mm->context.allow_gmap_hpage_1m) in pmdp_idte_local() 403 if (mm_has_pgste(mm) && mm->context.allow_gmap_hpage_1m) in pmdp_idte_global() 407 if (mm_has_pgste(mm) && mm->context.allow_gmap_hpage_1m) in pmdp_idte_global() 411 if (mm_has_pgste(mm) && mm->context.allow_gmap_hpage_1m) in pmdp_idte_global() [all …]
|
/openbmc/linux/include/trace/events/ |
H A D | ksm.h | 77 TP_PROTO(void *mm), 79 TP_ARGS(mm), 82 __field(void *, mm) 86 __entry->mm = mm; 101 TP_PROTO(void *mm), 103 TP_ARGS(mm) 115 TP_PROTO(void *mm), 117 TP_ARGS(mm) 146 __entry->mm = mm; 183 __entry->mm = mm; [all …]
|
/openbmc/linux/arch/sparc/mm/ |
H A D | tlb.c | 26 struct mm_struct *mm = tb->mm; in flush_tlb_pending() local 33 if (CTX_VALID(mm->context)) { in flush_tlb_pending() 81 if (unlikely(nr != 0 && mm != tb->mm)) { in tlb_batch_add_one() 88 global_flush_tlb_page(mm, vaddr); in tlb_batch_add_one() 93 tb->mm = mm; in tlb_batch_add_one() 173 if (mm == &init_mm) in __set_pmd_acct() 189 mm->context.thp_pte_count++; in __set_pmd_acct() 194 mm->context.thp_pte_count--; in __set_pmd_acct() 276 if (!pmd_huge_pte(mm, pmdp)) in pgtable_trans_huge_deposit() 280 pmd_huge_pte(mm, pmdp) = pgtable; in pgtable_trans_huge_deposit() [all …]
|
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 …]
|
/openbmc/linux/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 …]
|
/openbmc/linux/include/linux/sched/ |
H A D | mm.h | 36 atomic_inc(&mm->mm_count); in mmgrab() 54 __mmdrop(mm); in mmdrop() 66 __mmdrop(mm); in __mmdrop_delayed() 76 if (atomic_dec_and_test(&mm->mm_count)) in mmdrop_sched() 82 mmdrop(mm); in mmdrop_sched() 90 mmgrab(mm); in mmgrab_lazy_tlb() 96 mmdrop(mm); in mmdrop_lazy_tlb() 109 mmdrop_sched(mm); in mmdrop_lazy_tlb_sched() 132 atomic_inc(&mm->mm_users); in mmget() 223 rcu_dereference(tsk->real_parent)->mm == tsk->mm; in in_vfork() [all …]
|
/openbmc/linux/drivers/net/ethernet/mscc/ |
H A D | ocelot_mm.c | 55 struct ocelot_mm_state *mm = &ocelot->mm[port]; in ocelot_port_update_active_preemptible_tcs() local 67 val = mm->preemptible_tcs; in ocelot_port_update_active_preemptible_tcs() 82 mm->tx_active ? "active" : "inactive", mm->preemptible_tcs, in ocelot_port_update_active_preemptible_tcs() 93 struct ocelot_mm_state *mm = &ocelot->mm[port]; in ocelot_port_change_fp() local 108 struct ocelot_mm_state *mm = &ocelot->mm[port]; in ocelot_mm_update_port_status() local 112 if (!mm->tx_enabled) in ocelot_mm_update_port_status() 180 mm = &ocelot->mm[port]; in ocelot_port_set_mm() 223 WARN_ON(mm->tx_active); in ocelot_port_set_mm() 244 mm = &ocelot->mm[port]; in ocelot_port_get_mm() 283 if (!ocelot->mm) in ocelot_mm_init() [all …]
|