From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752206Ab0E1Eq6 (ORCPT ); Fri, 28 May 2010 00:46:58 -0400 Received: from fgwmail6.fujitsu.co.jp ([192.51.44.36]:51016 "EHLO fgwmail6.fujitsu.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750915Ab0E1Eq5 (ORCPT ); Fri, 28 May 2010 00:46:57 -0400 X-SecurityPolicyCheck-FJ: OK by FujitsuOutboundMailChecker v1.3.1 From: KOSAKI Motohiro To: balbir@linux.vnet.ibm.com Subject: Re: [RFC] oom-kill: give the dying task a higher priority Cc: kosaki.motohiro@jp.fujitsu.com, "Luis Claudio R. Goncalves" , Oleg Nesterov , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Thomas Gleixner , Peter Zijlstra , David Rientjes , Mel Gorman , williams@redhat.com In-Reply-To: <20100528043339.GZ3519@balbir.in.ibm.com> References: <20100528035147.GD11364@uudg.org> <20100528043339.GZ3519@balbir.in.ibm.com> Message-Id: <20100528134133.7E24.A69D9226@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.50.07 [ja] Date: Fri, 28 May 2010 13:46:53 +0900 (JST) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > * Luis Claudio R. Goncalves [2010-05-28 00:51:47]: > > > @@ -382,6 +382,8 @@ static void dump_header(struct task_struct *p, gfp_t gfp_mask, int order, > > */ > > static void __oom_kill_task(struct task_struct *p, int verbose) > > { > > + struct sched_param param; > > + > > if (is_global_init(p)) { > > WARN_ON(1); > > printk(KERN_WARNING "tried to kill init!\n"); > > @@ -413,8 +415,9 @@ static void __oom_kill_task(struct task_struct *p, int verbose) > > */ > > p->rt.time_slice = HZ; > > set_tsk_thread_flag(p, TIF_MEMDIE); > > - > > force_sig(SIGKILL, p); > > + param.sched_priority = MAX_RT_PRIO-1; > > + sched_setscheduler_nocheck(p, SCHED_FIFO, ¶m); > > } > > > > I would like to understand the visible benefits of this patch. Have > you seen an OOM kill tasked really get bogged down. Should this task > really be competing with other important tasks for run time? What you mean important? Until OOM victim task exit completely, the system have no memory. all of important task can't do anything. In almost kernel subsystems, automatically priority boost is really bad idea because it may break RT task's deterministic behavior. but OOM is one of exception. The deterministic was alread broken by memory starvation. That's the reason I acked it.