From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965483AbbI2OVm (ORCPT ); Tue, 29 Sep 2015 10:21:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49155 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965401AbbI2OV2 (ORCPT ); Tue, 29 Sep 2015 10:21:28 -0400 Date: Tue, 29 Sep 2015 16:18:18 +0200 From: Oleg Nesterov To: Andrew Morton Cc: David Rientjes , Kyle Walker , Michal Hocko , Stanislav Kozina , Tetsuo Handa , linux-kernel@vger.kernel.org Subject: [PATCH -mm 2/3] mm/oom_kill: cleanup the "kill sharing same memory" Message-ID: <20150929141818.GA10955@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150929141758.GA10934@redhat.com> User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Purely cosmetic, but the complex "if" condition looks annoying to me. Especially because it is not consistent with OOM_SCORE_ADJ_MIN check which adds another if/continue. Signed-off-by: Oleg Nesterov --- mm/oom_kill.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 0d581c6..8e7bed2 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -583,16 +583,20 @@ void oom_kill_process(struct oom_control *oc, struct task_struct *p, * pending fatal signal. */ rcu_read_lock(); - for_each_process(p) - if (p->mm == mm && !same_thread_group(p, victim) && - !(p->flags & PF_KTHREAD)) { - if (p->signal->oom_score_adj == OOM_SCORE_ADJ_MIN) - continue; + for_each_process(p) { + if (unlikely(p->flags & PF_KTHREAD)) + continue; + if (same_thread_group(p, victim)) + continue; + if (p->mm != mm) + continue; + if (p->signal->oom_score_adj == OOM_SCORE_ADJ_MIN) + continue; - pr_info("Kill process %d (%s) sharing same memory\n", - task_pid_nr(p), p->comm); - do_send_sig_info(SIGKILL, SEND_SIG_FORCED, p, true); - } + pr_info("Kill process %d (%s) sharing same memory\n", + task_pid_nr(p), p->comm); + do_send_sig_info(SIGKILL, SEND_SIG_FORCED, p, true); + } rcu_read_unlock(); mmput(mm); -- 2.4.3