Lines Matching full:mm
24 void __check_vmalloc_seq(struct mm_struct *mm);
28 void check_and_switch_context(struct mm_struct *mm, struct task_struct *tsk);
32 init_new_context(struct task_struct *tsk, struct mm_struct *mm) in init_new_context() argument
34 atomic64_set(&mm->context.id, 0); in init_new_context()
39 void a15_erratum_get_cpumask(int this_cpu, struct mm_struct *mm,
42 static inline void a15_erratum_get_cpumask(int this_cpu, struct mm_struct *mm, in a15_erratum_get_cpumask() argument
52 static inline void check_and_switch_context(struct mm_struct *mm, in check_and_switch_context() argument
55 if (unlikely(mm->context.vmalloc_seq != init_mm.context.vmalloc_seq)) in check_and_switch_context()
56 __check_vmalloc_seq(mm); in check_and_switch_context()
62 * running with the old mm. Since we only support UP systems in check_and_switch_context()
63 * on non-ASID CPUs, the old mm will remain valid until the in check_and_switch_context()
66 mm->context.switch_pending = 1; in check_and_switch_context()
68 cpu_switch_mm(mm->pgd, mm); in check_and_switch_context()
76 struct mm_struct *mm = current->mm; in finish_arch_post_lock_switch() local
78 if (mm && mm->context.switch_pending) { in finish_arch_post_lock_switch()
83 * switch to this mm was already done. in finish_arch_post_lock_switch()
86 if (mm->context.switch_pending) { in finish_arch_post_lock_switch()
87 mm->context.switch_pending = 0; in finish_arch_post_lock_switch()
88 cpu_switch_mm(mm->pgd, mm); in finish_arch_post_lock_switch()
102 * This is the actual mm switch as far as the scheduler
104 * calling the CPU specific function when the mm hasn't