Lines Matching refs:mm
444 void mm_update_next_owner(struct mm_struct *mm) in mm_update_next_owner() argument
453 if (mm->owner != p) in mm_update_next_owner()
460 if (atomic_read(&mm->mm_users) <= 1) { in mm_update_next_owner()
461 WRITE_ONCE(mm->owner, NULL); in mm_update_next_owner()
470 if (c->mm == mm) in mm_update_next_owner()
478 if (c->mm == mm) in mm_update_next_owner()
489 if (c->mm == mm) in mm_update_next_owner()
491 if (c->mm) in mm_update_next_owner()
501 WRITE_ONCE(mm->owner, NULL); in mm_update_next_owner()
517 if (c->mm != mm) { in mm_update_next_owner()
522 WRITE_ONCE(mm->owner, c); in mm_update_next_owner()
523 lru_gen_migrate_mm(mm); in mm_update_next_owner()
535 struct mm_struct *mm = current->mm; in exit_mm() local
537 exit_mm_release(current, mm); in exit_mm()
538 if (!mm) in exit_mm()
540 sync_mm_rss(mm); in exit_mm()
541 mmap_read_lock(mm); in exit_mm()
542 mmgrab(mm); in exit_mm()
543 BUG_ON(mm != current->active_mm); in exit_mm()
558 current->mm = NULL; in exit_mm()
560 enter_lazy_tlb(mm, current); in exit_mm()
563 mmap_read_unlock(mm); in exit_mm()
564 mm_update_next_owner(mm); in exit_mm()
565 trace_android_vh_exit_mm(mm); in exit_mm()
566 mmput(mm); in exit_mm()
834 if (tsk->mm) in do_exit()
835 sync_mm_rss(tsk->mm); in do_exit()
851 if (tsk->mm) in do_exit()
852 setmax_mm_hiwater_rss(&tsk->signal->maxrss, tsk->mm); in do_exit()