From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753467AbbIRTK0 (ORCPT ); Fri, 18 Sep 2015 15:10:26 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39716 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751704AbbIRTKZ (ORCPT ); Fri, 18 Sep 2015 15:10:25 -0400 Date: Fri, 18 Sep 2015 21:07:25 +0200 From: Oleg Nesterov To: Christoph Lameter Cc: Kyle Walker , akpm@linux-foundation.org, mhocko@suse.cz, rientjes@google.com, hannes@cmpxchg.org, vdavydov@parallels.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Tetsuo Handa , Stanislav Kozina Subject: Re: [PATCH] mm/oom_kill.c: don't kill TASK_UNINTERRUPTIBLE tasks Message-ID: <20150918190725.GA24989@redhat.com> References: <1442512783-14719-1-git-send-email-kwalker@redhat.com> <20150917192204.GA2728@redhat.com> <20150918162423.GA18136@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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 On 09/18, Christoph Lameter wrote: > > --- linux.orig/mm/oom_kill.c 2015-09-18 11:58:52.963946782 -0500 > +++ linux/mm/oom_kill.c 2015-09-18 11:59:42.010684778 -0500 > @@ -264,10 +264,9 @@ enum oom_scan_t oom_scan_process_thread( > * This task already has access to memory reserves and is being killed. > * Don't allow any other task to have access to the reserves. > */ > - if (test_tsk_thread_flag(task, TIF_MEMDIE)) { > - if (oc->order != -1) > - return OOM_SCAN_ABORT; > - } > + if (test_tsk_thread_flag(task, TIF_MEMDIE)) > + return OOM_SCAN_CONTINUE; > + Well, I can't really comment. Hopefully we will see more comments from those who understand oom-killer. But I still think this is not enough, and we need some (configurable?) timeout before we pick another victim... And btw. Yes, this is a bit off-topic, but I think another change make sense too. We should report the fact we are going to kill another task because the previous victim refuse to die, and print its stack trace. Oleg.