summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVladimir Davydov <vdavydov@virtuozzo.com>2016-05-27 14:27:21 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2016-05-27 14:49:37 -0700
commitedd9f7230f591b7988533b1cafb07f3c03555f19 (patch)
treec925a5057f674e7477e9e652072eb2254e6971b9
parent9ecd10b7a0270803fd5f36ab93173e6d5b41b895 (diff)
downloadlinux-edd9f7230f591b7988533b1cafb07f3c03555f19.tar.bz2
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: 3ef22dfff239 ("oom, oom_reaper: try to reap tasks which skip regular OOM killer path")Signed-off-by: Vladimir Davydov <vdavydov@virtuozzo.com> Acked-by: Michal Hocko <mhocko@suse.com> Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--mm/oom_kill.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index 5bb2f7698ad7..326dd14938f0 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -611,8 +611,6 @@ void try_oom_reaper(struct task_struct *tsk)
if (!process_shares_mm(p, mm))
continue;
- if (same_thread_group(p, tsk))
- continue;
if (fatal_signal_pending(p))
continue;