The patch titled Subject: mm, oom: enforce exit_oom_victim on current task has been added to the -mm tree. Its filename is mm-oom-enforce-exit_oom_victim-on-current-task.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/mm-oom-enforce-exit_oom_victim-on-current-task.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/mm-oom-enforce-exit_oom_victim-on-current-task.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Subject: mm, oom: enforce exit_oom_victim on current task There are no users of exit_oom_victim on !current task anymore so enforce the API to always work on the current. Link: http://lkml.kernel.org/r/1472119394-11342-8-git-send-email-mhocko@xxxxxxxxxx Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/oom.h | 2 +- kernel/exit.c | 2 +- mm/oom_kill.c | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff -puN include/linux/oom.h~mm-oom-enforce-exit_oom_victim-on-current-task include/linux/oom.h --- a/include/linux/oom.h~mm-oom-enforce-exit_oom_victim-on-current-task +++ a/include/linux/oom.h @@ -69,7 +69,7 @@ extern unsigned long oom_badness(struct extern bool out_of_memory(struct oom_control *oc); -extern void exit_oom_victim(struct task_struct *tsk); +extern void exit_oom_victim(void); extern int register_oom_notifier(struct notifier_block *nb); extern int unregister_oom_notifier(struct notifier_block *nb); diff -puN kernel/exit.c~mm-oom-enforce-exit_oom_victim-on-current-task kernel/exit.c --- a/kernel/exit.c~mm-oom-enforce-exit_oom_victim-on-current-task +++ a/kernel/exit.c @@ -511,7 +511,7 @@ static void exit_mm(struct task_struct * mm_update_next_owner(mm); mmput(mm); if (test_thread_flag(TIF_MEMDIE)) - exit_oom_victim(tsk); + exit_oom_victim(); } static struct task_struct *find_alive_thread(struct task_struct *p) diff -puN mm/oom_kill.c~mm-oom-enforce-exit_oom_victim-on-current-task mm/oom_kill.c --- a/mm/oom_kill.c~mm-oom-enforce-exit_oom_victim-on-current-task +++ a/mm/oom_kill.c @@ -662,10 +662,9 @@ static void mark_oom_victim(struct task_ /** * exit_oom_victim - note the exit of an OOM victim */ -void exit_oom_victim(struct task_struct *tsk) +void exit_oom_victim(void) { - if (!test_and_clear_tsk_thread_flag(tsk, TIF_MEMDIE)) - return; + clear_thread_flag(TIF_MEMDIE); if (!atomic_dec_return(&oom_victims)) wake_up_all(&oom_victims_wait); _ Patches currently in -mm which might be from penguin-kernel@xxxxxxxxxxxxxxxxxxx are mmoom_reaper-reduce-find_lock_task_mm-usage.patch mmoom_reaper-do-not-attempt-to-reap-a-task-twice.patch mm-oom-enforce-exit_oom_victim-on-current-task.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html