Lines Matching refs:mm
395 void mm_update_next_owner(struct mm_struct *mm) in mm_update_next_owner() argument
404 if (mm->owner != p) in mm_update_next_owner()
411 if (atomic_read(&mm->mm_users) <= 1) { in mm_update_next_owner()
412 WRITE_ONCE(mm->owner, NULL); in mm_update_next_owner()
421 if (c->mm == mm) in mm_update_next_owner()
429 if (c->mm == mm) in mm_update_next_owner()
440 if (c->mm == mm) in mm_update_next_owner()
442 if (c->mm) in mm_update_next_owner()
452 WRITE_ONCE(mm->owner, NULL); in mm_update_next_owner()
468 if (c->mm != mm) { in mm_update_next_owner()
473 WRITE_ONCE(mm->owner, c); in mm_update_next_owner()
485 struct mm_struct *mm = current->mm; in exit_mm() local
488 exit_mm_release(current, mm); in exit_mm()
489 if (!mm) in exit_mm()
491 sync_mm_rss(mm); in exit_mm()
499 mmap_read_lock(mm); in exit_mm()
500 core_state = mm->core_state; in exit_mm()
504 mmap_read_unlock(mm); in exit_mm()
525 mmap_read_lock(mm); in exit_mm()
527 mmgrab(mm); in exit_mm()
528 BUG_ON(mm != current->active_mm); in exit_mm()
531 current->mm = NULL; in exit_mm()
532 mmap_read_unlock(mm); in exit_mm()
533 enter_lazy_tlb(mm, current); in exit_mm()
535 mm_update_next_owner(mm); in exit_mm()
536 trace_android_vh_exit_mm(mm); in exit_mm()
537 mmput(mm); in exit_mm()
820 if (tsk->mm) in do_exit()
821 sync_mm_rss(tsk->mm); in do_exit()
838 if (tsk->mm) in do_exit()
839 setmax_mm_hiwater_rss(&tsk->signal->maxrss, tsk->mm); in do_exit()