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

From: Vladimir Davydov
Date: Tue May 24 2016 - 07:00:42 EST


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.

Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
---
mm/oom_kill.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index c0e37dd1422f..03bf7a472296 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -618,8 +618,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;

--
2.1.4