Commit edd9f723 authored by Vladimir Davydov's avatar Vladimir Davydov Committed by Linus Torvalds

mm: oom: do not reap task if there are live threads in threadgroup

If the current process is exiting, we don't invoke oom killer, instead
we give it access to memory reserves and try to reap its mm in case
nobody is going to use it.  There's a mistake in the code performing
this check - we just ignore any process of the same thread group no
matter if it is exiting or not - see try_oom_reaper.  Fix it.

Link: http://lkml.kernel.org/r/1464087628-7318-1-git-send-email-vdavydov@virtuozzo.com
Fixes: 3ef22dff ("oom, oom_reaper: try to reap tasks which skip regular OOM killer path")Signed-off-by: Vladimir Davydov <vdavydov@virtuozzo.com>
Acked-by: default avatarMichal Hocko <mhocko@suse.com>
Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 9ecd10b7
...@@ -611,8 +611,6 @@ void try_oom_reaper(struct task_struct *tsk) ...@@ -611,8 +611,6 @@ void try_oom_reaper(struct task_struct *tsk)
if (!process_shares_mm(p, mm)) if (!process_shares_mm(p, mm))
continue; continue;
if (same_thread_group(p, tsk))
continue;
if (fatal_signal_pending(p)) if (fatal_signal_pending(p))
continue; continue;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment