/linux/drivers/gpu/drm/ |
H A D | drm_buddy.c | 14 static struct drm_buddy_block *drm_block_alloc(struct drm_buddy *mm, in drm_block_alloc() argument 35 static void drm_block_free(struct drm_buddy *mm, in drm_block_free() argument 41 static void list_insert_sorted(struct drm_buddy *mm, in list_insert_sorted() argument 47 head = &mm->free_list[drm_buddy_block_order(block)]; in list_insert_sorted() 78 static void mark_free(struct drm_buddy *mm, in mark_free() argument 84 list_insert_sorted(mm, block); in mark_free() 120 static unsigned int __drm_buddy_free(struct drm_buddy *mm, in __drm_buddy_free() argument 150 mm->clear_avail -= drm_buddy_block_size(mm, buddy); in __drm_buddy_free() 152 drm_block_free(mm, block); in __drm_buddy_free() 153 drm_block_free(mm, buddy); in __drm_buddy_free() [all …]
|
H A D | drm_mm.c | 118 static void show_leaks(struct drm_mm *mm) in show_leaks() argument 127 list_for_each_entry(node, drm_mm_nodes(mm), node_list) { in show_leaks() 146 static void show_leaks(struct drm_mm *mm) { } in show_leaks() argument 157 __drm_mm_interval_first(const struct drm_mm *mm, u64 start, u64 last) in INTERVAL_TREE_DEFINE() 159 return drm_mm_interval_tree_iter_first((struct rb_root_cached *)&mm->interval_tree, in INTERVAL_TREE_DEFINE() 160 start, last) ?: (struct drm_mm_node *)&mm->head_node; in INTERVAL_TREE_DEFINE() 167 struct drm_mm *mm = hole_node->mm; in drm_mm_interval_tree_add_node() local 190 link = &mm->interval_tree.rb_root.rb_node; in drm_mm_interval_tree_add_node() 208 rb_insert_augmented_cached(&node->rb, &mm->interval_tree, leftmost, in drm_mm_interval_tree_add_node() 268 struct drm_mm *mm = node->mm; in add_hole() local [all …]
|
/linux/include/linux/ |
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, 213 struct mmu_notifier *(*alloc_notifier)(struct mm_struct *mm); 231 struct mm_struct *mm; member 251 struct mm_struct *mm; member 263 struct mm_struct *mm; member 271 static inline int mm_has_notifiers(struct mm_struct *mm) in mm_has_notifiers() argument [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); 20 void __page_table_check_ptes_set(struct mm_struct *mm, pte_t *ptep, pte_t pte, 22 void __page_table_check_pmd_set(struct mm_struct *mm, pmd_t *pmdp, pmd_t pmd); 23 void __page_table_check_pud_set(struct mm_struct *mm, pud_t *pudp, pud_t pud); 24 void __page_table_check_pte_clear_range(struct mm_struct *mm, 44 static inline void page_table_check_pte_clear(struct mm_struct *mm, pte_t pte) in page_table_check_pte_clear() argument 49 __page_table_check_pte_clear(mm, pte); in page_table_check_pte_clear() 52 static inline void page_table_check_pmd_clear(struct mm_struct *mm, pmd_t pmd) in page_table_check_pmd_clear() argument [all …]
|
/linux/drivers/gpu/drm/tests/ |
H A D | drm_buddy_test.c | 31 struct drm_buddy mm; in drm_test_buddy_alloc_range_bias() local 41 KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_init(&mm, mm_size, ps), in drm_test_buddy_alloc_range_bias() 65 drm_buddy_alloc_blocks(&mm, bias_start, in drm_test_buddy_alloc_range_bias() 74 drm_buddy_alloc_blocks(&mm, bias_start, in drm_test_buddy_alloc_range_bias() 83 drm_buddy_alloc_blocks(&mm, bias_start + ps, in drm_test_buddy_alloc_range_bias() 92 drm_buddy_alloc_blocks(&mm, bias_start + ps, in drm_test_buddy_alloc_range_bias() 102 drm_buddy_alloc_blocks(&mm, bias_start, in drm_test_buddy_alloc_range_bias() 108 drm_buddy_free_list(&mm, &tmp, 0); in drm_test_buddy_alloc_range_bias() 112 drm_buddy_alloc_blocks(&mm, bias_start, in drm_test_buddy_alloc_range_bias() 118 drm_buddy_free_list(&mm, &tmp, 0); in drm_test_buddy_alloc_range_bias() [all …]
|
H A D | drm_mm_test.c | 38 static bool assert_no_holes(struct kunit *test, const struct drm_mm *mm) in assert_no_holes() argument 45 drm_mm_for_each_hole(hole, mm, hole_start, hole_end) in assert_no_holes() 53 drm_mm_for_each_node(hole, mm) { in assert_no_holes() 63 static bool assert_one_hole(struct kunit *test, const struct drm_mm *mm, u64 start, u64 end) in assert_one_hole() argument 74 drm_mm_for_each_hole(hole, mm, hole_start, hole_end) { in assert_one_hole() 103 static bool assert_node(struct kunit *test, struct drm_mm_node *node, struct drm_mm *mm, in assert_node() argument 108 if (!drm_mm_node_allocated(node) || node->mm != mm) { in assert_node() 138 struct drm_mm mm; in drm_test_mm_init() local 142 memset(&mm, 0, sizeof(mm)); in drm_test_mm_init() 143 KUNIT_ASSERT_FALSE_MSG(test, drm_mm_initialized(&mm), in drm_test_mm_init() [all …]
|
/linux/arch/s390/include/asm/ |
H A D | pgalloc.h | 26 struct ptdesc *page_table_alloc_pgste(struct mm_struct *mm); 36 int crst_table_upgrade(struct mm_struct *mm, unsigned long limit); 38 static inline unsigned long check_asce_limit(struct mm_struct *mm, unsigned long addr, in check_asce_limit() argument 43 if (addr + len > mm->context.asce_limit && in check_asce_limit() 45 rc = crst_table_upgrade(mm, addr + len); in check_asce_limit() 52 static inline p4d_t *p4d_alloc_one(struct mm_struct *mm, unsigned long address) in p4d_alloc_one() argument 54 unsigned long *table = crst_table_alloc(mm); in p4d_alloc_one() 61 static inline void p4d_free(struct mm_struct *mm, p4d_t *p4d) in p4d_free() argument 63 if (!mm_p4d_folded(mm)) in p4d_free() 64 crst_table_free(mm, (unsigned long *) p4d); in p4d_free() [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() 25 INIT_LIST_HEAD(&mm->context.gmap_list); in init_new_context() 26 cpumask_clear(&mm->context.cpu_attach_mask); in init_new_context() 27 atomic_set(&mm->context.flush_count, 0); in init_new_context() 28 atomic_set(&mm->context.protected_count, 0); 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.alloc_pgste = page_table_allocate_pgste || in init_new_context() 34 (current->mm && current->mm->context.alloc_pgste); in init_new_context() [all …]
|
/linux/mm/ |
H A D | mmu_notifier.c | 3 * linux/mm/mmu_notifier.c 13 #include <linux/mm.h> 19 #include <linux/sched/mm.h> 35 * mm->notifier_subscriptions inside the mm_take_all_locks() protected 40 /* all mmu notifiers registered in this mm are queued in this list */ 56 * this mm, such that PTES cannot be read into SPTEs (shadow PTEs) while any 59 * Note that the core mm creates nested invalidate_range_start()/end() regions 62 * progress on the mm side. 69 * - mm->active_invalidate_ranges != 0 75 * - mm 262 mn_itree_release(struct mmu_notifier_subscriptions * subscriptions,struct mm_struct * mm) mn_itree_release() argument 300 mn_hlist_release(struct mmu_notifier_subscriptions * subscriptions,struct mm_struct * mm) mn_hlist_release() argument 348 __mmu_notifier_release(struct mm_struct * mm) __mmu_notifier_release() argument 365 __mmu_notifier_clear_flush_young(struct mm_struct * mm,unsigned long start,unsigned long end) __mmu_notifier_clear_flush_young() argument 385 __mmu_notifier_clear_young(struct mm_struct * mm,unsigned long start,unsigned long end) __mmu_notifier_clear_young() argument 405 __mmu_notifier_test_young(struct mm_struct * mm,unsigned long address) __mmu_notifier_test_young() argument 571 __mmu_notifier_arch_invalidate_secondary_tlbs(struct mm_struct * mm,unsigned long start,unsigned long end) __mmu_notifier_arch_invalidate_secondary_tlbs() argument 595 __mmu_notifier_register(struct mmu_notifier * subscription,struct mm_struct * mm) __mmu_notifier_register() argument 698 mmu_notifier_register(struct mmu_notifier * subscription,struct mm_struct * mm) mmu_notifier_register() argument 710 find_get_mmu_notifier(struct mm_struct * mm,const struct mmu_notifier_ops * ops) find_get_mmu_notifier() argument 750 mmu_notifier_get_locked(const struct mmu_notifier_ops * ops,struct mm_struct * mm) mmu_notifier_get_locked() argument 778 __mmu_notifier_subscriptions_destroy(struct mm_struct * mm) __mmu_notifier_subscriptions_destroy() argument 796 mmu_notifier_unregister(struct mmu_notifier * subscription,struct mm_struct * mm) mmu_notifier_unregister() argument 841 struct mm_struct *mm = subscription->mm; mmu_notifier_free_rcu() local 872 struct mm_struct *mm = subscription->mm; mmu_notifier_put() local 889 __mmu_interval_notifier_insert(struct mmu_interval_notifier * interval_sub,struct mm_struct * mm,struct mmu_notifier_subscriptions * subscriptions,unsigned long start,unsigned long length,const struct mmu_interval_notifier_ops * ops) __mmu_interval_notifier_insert() argument 971 mmu_interval_notifier_insert(struct mmu_interval_notifier * interval_sub,struct mm_struct * mm,unsigned long start,unsigned long length,const struct mmu_interval_notifier_ops * ops) mmu_interval_notifier_insert() argument 993 mmu_interval_notifier_insert_locked(struct mmu_interval_notifier * interval_sub,struct mm_struct * mm,unsigned long start,unsigned long length,const struct mmu_interval_notifier_ops * ops) mmu_interval_notifier_insert_locked() argument 1038 struct mm_struct *mm = interval_sub->mm; mmu_interval_notifier_remove() local [all...] |
H A D | debug.c | 3 * mm/debug.c 5 * mm/ specific debug routines. 10 #include <linux/mm.h> 178 pr_emerg("vma %px start %px end %px mm %px\n" 190 void dump_mm(const struct mm_struct *mm) in dump_mm() 192 pr_emerg("mm %px task_size %lu\n" in dump_mm() 217 mm, mm->task_size, in dump_mm() 218 mm->mmap_base, mm in dump_mm() 180 dump_mm(const struct mm_struct * mm) dump_mm() argument [all...] |
/linux/arch/m68k/include/asm/ |
H A D | mmu_context.h | 28 static inline void get_mmu_context(struct mm_struct *mm) in get_mmu_context() argument 32 if (mm->context != NO_CONTEXT) in get_mmu_context() 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 58 static inline void destroy_context(struct mm_struct *mm) in destroy_context() argument 60 if (mm->context != NO_CONTEXT) { in destroy_context() 61 clear_bit(mm->context, context_map); in destroy_context() 62 mm->context = NO_CONTEXT; in destroy_context() 75 get_mmu_context(tsk->mm); in switch_mm() [all …]
|
/linux/arch/powerpc/mm/book3s64/ |
H A D | mmu_context.c | 95 static int hash__init_new_context(struct mm_struct *mm) in hash__init_new_context() argument 99 mm->context.hash_context = kmalloc(sizeof(struct hash_mm_context), in hash__init_new_context() 101 if (!mm->context.hash_context) in hash__init_new_context() 118 if (mm->context.id == 0) { in hash__init_new_context() 119 memset(mm->context.hash_context, 0, sizeof(struct hash_mm_context)); in hash__init_new_context() 120 slice_init_new_context_exec(mm); in hash__init_new_context() 123 …memcpy(mm->context.hash_context, current->mm->context.hash_context, sizeof(struct hash_mm_context)… in hash__init_new_context() 126 if (current->mm->context.hash_context->spt) { in hash__init_new_context() 127 mm->context.hash_context->spt = kmalloc(sizeof(struct subpage_prot_table), in hash__init_new_context() 129 if (!mm->context.hash_context->spt) { in hash__init_new_context() [all …]
|
/linux/arch/s390/mm/ |
H A D | pgtable.c | 47 static inline void ptep_ipte_local(struct mm_struct *mm, unsigned long addr, in ptep_ipte_local() argument 54 asce = READ_ONCE(mm->context.gmap_asce); in ptep_ipte_local() 58 asce = asce ? : mm->context.asce; in ptep_ipte_local() 67 static inline void ptep_ipte_global(struct mm_struct *mm, unsigned long addr, in ptep_ipte_global() argument 74 asce = READ_ONCE(mm->context.gmap_asce); in ptep_ipte_global() 78 asce = asce ? : mm->context.asce; in ptep_ipte_global() 87 static inline pte_t ptep_flush_direct(struct mm_struct *mm, in ptep_flush_direct() argument 96 atomic_inc(&mm->context.flush_count); in ptep_flush_direct() 98 cpumask_equal(mm_cpumask(mm), cpumask_of(smp_processor_id()))) in ptep_flush_direct() 99 ptep_ipte_local(mm, addr, ptep, nodat); in ptep_flush_direct() [all …]
|
/linux/Documentation/core-api/ |
H A D | mm-api.rst | 14 .. kernel-doc:: mm/gup.c 40 .. kernel-doc:: mm/slub.c 43 .. kernel-doc:: mm/slab_common.c 46 .. kernel-doc:: mm/util.c 52 .. kernel-doc:: mm/vmalloc.c 61 .. kernel-doc:: mm/filemap.c 67 .. kernel-doc:: mm/readahead.c 70 .. kernel-doc:: mm/readahead.c 76 .. kernel-doc:: mm/page-writeback.c 82 .. kernel-doc:: mm/truncate.c [all …]
|
/linux/arch/sparc/include/asm/ |
H A D | mmu_context_64.h | 24 void get_new_mmu_context(struct mm_struct *mm); 27 int init_new_context(struct task_struct *tsk, struct mm_struct *mm); 29 void destroy_context(struct mm_struct *mm); 37 static inline void tsb_context_switch_ctx(struct mm_struct *mm, in tsb_context_switch_ctx() argument 40 __tsb_context_switch(__pa(mm->pgd), in tsb_context_switch_ctx() 41 &mm->context.tsb_block[MM_TSB_BASE], in tsb_context_switch_ctx() 43 (mm->context.tsb_block[MM_TSB_HUGE].tsb ? in tsb_context_switch_ctx() 44 &mm->context.tsb_block[MM_TSB_HUGE] : in tsb_context_switch_ctx() 49 , __pa(&mm->context.tsb_descr[MM_TSB_BASE]), in tsb_context_switch_ctx() 55 void tsb_grow(struct mm_struct *mm, [all …]
|
/linux/arch/arm/include/asm/ |
H A D | mmu_context.h | 24 void __check_vmalloc_seq(struct mm_struct *mm); 27 static inline void check_vmalloc_seq(struct mm_struct *mm) in check_vmalloc_seq() argument 30 unlikely(atomic_read(&mm->context.vmalloc_seq) != in check_vmalloc_seq() 32 __check_vmalloc_seq(mm); in check_vmalloc_seq() 38 void check_and_switch_context(struct mm_struct *mm, struct task_struct *tsk); 42 init_new_context(struct task_struct *tsk, struct mm_struct *mm) in init_new_context() argument 44 atomic64_set(&mm->context.id, 0); in init_new_context() 49 void a15_erratum_get_cpumask(int this_cpu, struct mm_struct *mm, 52 static inline void a15_erratum_get_cpumask(int this_cpu, struct mm_struct *mm, in a15_erratum_get_cpumask() argument 62 static inline void check_and_switch_context(struct mm_struct *mm, in check_and_switch_context() argument [all …]
|
/linux/arch/x86/kernel/ |
H A D | ldt.c | 42 void load_mm_ldt(struct mm_struct *mm) in load_mm_ldt() argument 47 ldt = READ_ONCE(mm->context.ldt); in load_mm_ldt() 138 struct mm_struct *mm = __mm; in flush_ldt() local 140 if (this_cpu_read(cpu_tlbstate.loaded_mm) != mm) in flush_ldt() 143 load_mm_ldt(mm); in flush_ldt() 189 static void do_sanity_check(struct mm_struct *mm, in do_sanity_check() argument 193 if (mm->context.ldt) { in do_sanity_check() 234 static void map_ldt_struct_to_user(struct mm_struct *mm) in map_ldt_struct_to_user() argument 236 pgd_t *k_pgd = pgd_offset(mm, LDT_BASE_ADDR); in map_ldt_struct_to_user() 243 if (boot_cpu_has(X86_FEATURE_PTI) && !mm->context.ldt) in map_ldt_struct_to_user() [all …]
|
/linux/arch/sparc/mm/ |
H A D | tsb.c | 121 struct mm_struct *mm = tb->mm; in flush_tsb_user() local 124 spin_lock_irqsave(&mm->context.lock, flags); in flush_tsb_user() 127 base = (unsigned long) mm->context.tsb_block[MM_TSB_BASE].tsb; in flush_tsb_user() 128 nentries = mm->context.tsb_block[MM_TSB_BASE].tsb_nentries; in flush_tsb_user() 140 else if (mm->context.tsb_block[MM_TSB_HUGE].tsb) { in flush_tsb_user() 141 base = (unsigned long) mm->context.tsb_block[MM_TSB_HUGE].tsb; in flush_tsb_user() 142 nentries = mm->context.tsb_block[MM_TSB_HUGE].tsb_nentries; in flush_tsb_user() 149 spin_unlock_irqrestore(&mm->context.lock, flags); in flush_tsb_user() 152 void flush_tsb_user_page(struct mm_struct *mm, unsigned long vaddr, in flush_tsb_user_page() argument 157 spin_lock_irqsave(&mm->context.lock, flags); in flush_tsb_user_page() [all …]
|
/linux/drivers/gpu/drm/i915/gem/ |
H A D | i915_gem_shrinker.c | 37 return swap_available() || obj->mm.madv == I915_MADV_DONTNEED; in can_release_pages() 113 { &i915->mm.purge_list, ~0u }, in i915_gem_shrink() 115 &i915->mm.shrink_list, in i915_gem_shrink() 194 spin_lock_irqsave(&i915->mm.obj_lock, flags); in i915_gem_shrink() 198 mm.link))) { in i915_gem_shrink() 199 list_move_tail(&obj->mm.link, &still_in_list); in i915_gem_shrink() 202 !is_vmalloc_addr(obj->mm.mapping)) in i915_gem_shrink() 215 spin_unlock_irqrestore(&i915->mm.obj_lock, flags); in i915_gem_shrink() 239 spin_lock_irqsave(&i915->mm.obj_lock, flags); in i915_gem_shrink() 244 spin_unlock_irqrestore(&i915->mm.obj_lock, flags); in i915_gem_shrink() [all …]
|
/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 66 ocelot_port->speed == SPEED_1000) && mm->tx_active) in ocelot_port_update_active_preemptible_tcs() 67 val = mm->preemptible_tcs; in ocelot_port_update_active_preemptible_tcs() 75 mm->active_preemptible_tcs = val; in ocelot_port_update_active_preemptible_tcs() 82 mm->tx_active ? "active" : "inactive", mm->preemptible_tcs, in ocelot_port_update_active_preemptible_tcs() 83 mm->active_preemptible_tcs); in ocelot_port_update_active_preemptible_tcs() 93 struct ocelot_mm_state *mm = &ocelot->mm[port]; in ocelot_port_change_fp() local 97 if (mm->preemptible_tcs == preemptible_tcs) in ocelot_port_change_fp() 100 mm->preemptible_tcs = preemptible_tcs; in ocelot_port_change_fp() 108 struct ocelot_mm_state *mm = &ocelot->mm[port]; in ocelot_mm_update_port_status() local [all …]
|
/linux/arch/arm64/include/asm/ |
H A D | mmu_context.h | 55 void cpu_do_switch_mm(phys_addr_t pgd_phys, struct mm_struct *mm); 57 static inline void cpu_switch_mm(pgd_t *pgd, struct mm_struct *mm) in cpu_switch_mm() argument 60 cpu_do_switch_mm(virt_to_phys(pgd),mm); in cpu_switch_mm() 101 struct mm_struct *mm = current->active_mm; in cpu_uninstall_idmap() local 107 if (mm != &init_mm && !system_uses_ttbr0_pan()) in cpu_uninstall_idmap() 108 cpu_switch_mm(mm->pgd, mm); in cpu_uninstall_idmap() 170 void check_and_switch_context(struct mm_struct *mm); 172 #define init_new_context(tsk, mm) init_new_context(tsk, mm) argument 174 init_new_context(struct task_struct *tsk, struct mm_struct *mm) in init_new_context() argument 176 atomic64_set(&mm->context.id, 0); in init_new_context() [all …]
|
/linux/fs/proc/ |
H A D | task_nommu.c | 21 void task_mem(struct seq_file *m, struct mm_struct *mm) in task_mem() argument 23 VMA_ITERATOR(vmi, mm, 0); in task_mem() 28 mmap_read_lock(mm); in task_mem() 40 if (atomic_read(&mm->mm_count) > 1 || in task_mem() 50 if (atomic_read(&mm->mm_count) > 1) in task_mem() 51 sbytes += kobjsize(mm); in task_mem() 53 bytes += kobjsize(mm); in task_mem() 72 mmap_read_unlock(mm); in task_mem() 81 unsigned long task_vsize(struct mm_struct *mm) in task_vsize() argument 83 VMA_ITERATOR(vmi, mm, 0); in task_vsize() [all …]
|
/linux/arch/x86/include/asm/ |
H A D | pgalloc.h | 13 static inline int __paravirt_pgd_alloc(struct mm_struct *mm) { return 0; } in __paravirt_pgd_alloc() argument 18 #define paravirt_pgd_alloc(mm) __paravirt_pgd_alloc(mm) argument 19 static inline void paravirt_pgd_free(struct mm_struct *mm, pgd_t *pgd) {} in paravirt_pgd_free() argument 20 static inline void paravirt_alloc_pte(struct mm_struct *mm, unsigned long pfn) {} in paravirt_alloc_pte() argument 21 static inline void paravirt_alloc_pmd(struct mm_struct *mm, unsigned long pfn) {} in paravirt_alloc_pmd() argument 24 static inline void paravirt_alloc_pud(struct mm_struct *mm, unsigned long pfn) {} in paravirt_alloc_pud() argument 25 static inline void paravirt_alloc_p4d(struct mm_struct *mm, unsigned long pfn) {} in paravirt_alloc_p4d() argument 52 extern void pgd_free(struct mm_struct *mm, pgd_t *pgd); 64 static inline void pmd_populate_kernel(struct mm_struct *mm, in pmd_populate_kernel() argument 67 paravirt_alloc_pte(mm, __pa(pte) >> PAGE_SHIFT); in pmd_populate_kernel() [all …]
|
/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; 89 TP_printk("mm %p", __entry->mm) 101 TP_PROTO(void *mm), 103 TP_ARGS(mm) 115 TP_PROTO(void *mm), 117 TP_ARGS(mm) 132 TP_PROTO(unsigned long pfn, void *rmap_item, void *mm, int err), [all …]
|
/linux/kernel/sched/ |
H A D | membarrier.c | 205 struct mm_struct *mm = (struct mm_struct *) info; in ipi_sync_rq_state() local 207 if (current->mm != mm) in ipi_sync_rq_state() 210 atomic_read(&mm->membarrier_state)); in ipi_sync_rq_state() 220 void membarrier_exec_mmap(struct mm_struct *mm) in membarrier_exec_mmap() argument 228 atomic_set(&mm->membarrier_state, 0); in membarrier_exec_mmap() 291 if (!p->mm) in membarrier_global_expedited() 317 struct mm_struct *mm = current->mm; in membarrier_private_expedited() local 323 if (!(atomic_read(&mm->membarrier_state) & in membarrier_private_expedited() 327 prepare_sync_core_cmd(mm); in membarrier_private_expedited() 331 if (!(atomic_read(&mm->membarrier_state) & in membarrier_private_expedited() [all …]
|