public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Nikanth Karthikesan <knikanth@suse.de>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: linux-kernel@vger.kernel.org,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Linus Torvalds" <torvalds@linux-foundation.org>,
	"Evgeniy Polyakov" <zbr@ioremap.net>,
	"Chris Snook" <csnook@redhat.com>,
	"Alan Cox" <alan@lxorguk.ukuu.org.uk>,
	"Arve Hjønnevåg" <arve@android.com>,
	"Paul Menage" <menage@google.com>,
	containers@lists.linux-foundation.org
Subject: Re: [RFC] [PATCH] Cgroup based OOM killer controller
Date: Thu, 22 Jan 2009 11:41:56 +0530	[thread overview]
Message-ID: <200901221141.57374.knikanth@suse.de> (raw)
In-Reply-To: <20090122142721.34068fdf.kamezawa.hiroyu@jp.fujitsu.com>

On Thursday 22 January 2009 10:57:21 KAMEZAWA Hiroyuki wrote:
> On Thu, 22 Jan 2009 10:43:12 +0530
>
> Nikanth Karthikesan <knikanth@suse.de> wrote:
> > On Thursday 22 January 2009 08:58:43 KAMEZAWA Hiroyuki wrote:
> > > On Wed, 21 Jan 2009 16:38:21 +0530
> > >
> > > Nikanth Karthikesan <knikanth@suse.de> wrote:
> > > > As Alan Cox suggested/wondered in this thread,
> > > > http://lkml.org/lkml/2009/1/12/235 , this is a container group based
> > > > approach to override the oom killer selection without losing all the
> > > > benefits of the current oom killer heuristics and oom_adj interface.
> > > >
> > > > It adds a tunable oom.victim to the oom cgroup. The oom killer will
> > > > kill the process using the usual badness value but only within the
> > > > cgroup with the maximum value for oom.victim before killing any
> > > > process from a cgroup with a lesser oom.victim number. Oom killing
> > > > could be disabled by setting oom.victim=0.
> > > >
> > > > Signed-off-by: Nikanth Karthikesan <knikanth@suse.de>
> > >
> > > Assume following
> > >   - the usar can tell "which process should be killed at first"
> > >
> > > What is the difference between oom_adj and this cgroup to users ?
> >
> > It is next to impossible to specify the order among say 10 memory hogging
> > tasks using oom_adj. Using this oom-controller users can specify the
> > exact order.
> >
> > > If oom_adj is hard to use, making it simpler is a good way, I think.
> > > rather than adding new complication.
> > >
> > > It seems both of oom_adj and this cgroup will be hard-to-use functions
> > > for usual system administrators. But no better idea than using memcg
> > > and committing memory usage.
> >
> > To use oom_adj effectively one should continuously monitor oom_score of
> > all the processes, which is a complex moving target and keep on adjusting
> > the oom_adj of many tasks which still cannot guarantee the order. This
> > controller is deterministic and hence easier to use.
>
> Okay, thank you for explanation :)
> I think it's better to explain "why this is much easier to use rather
> than oom_adj and what is the benefit to users." in your patch description
> and to improve your documentation.
>
> +But it is very difficult to suggest an order among tasks to be killed
> during +Out Of Memory situation. The OOM Killer controller aids in doing
> that.
>
> As.
>  Difference from oom_adj:
>  This allows users to specify "strict order" of oom-kill's
> select-bad-process operation. While oom_adj just works as a hint for the
> kernel, OOM Killer Controller gives users full control.
>
>  In general, it's very hard to specify oom-kill order of several
> applications only by oom_adj because it's just affects "badness"
> calculation.
>

Yes, this could be added to the patch description or the documentation.

Thanks
Nikanth

  reply	other threads:[~2009-01-22  6:14 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-21 11:08 [RFC] [PATCH] Cgroup based OOM killer controller Nikanth Karthikesan
2009-01-21 13:17 ` Evgeniy Polyakov
2009-01-21 15:24   ` Nikanth Karthikesan
2009-01-21 20:49     ` David Rientjes
2009-01-22  2:53       ` KAMEZAWA Hiroyuki
2009-01-22  5:12         ` Nikanth Karthikesan
2009-01-22  5:12       ` Nikanth Karthikesan
2009-01-22  8:43         ` David Rientjes
2009-01-22  9:23           ` Nikanth Karthikesan
2009-01-22  9:39             ` David Rientjes
2009-01-22 10:10               ` Nikanth Karthikesan
2009-01-22 10:18                 ` David Rientjes
2009-01-22  9:50           ` Evgeniy Polyakov
2009-01-22 10:00             ` David Rientjes
2009-01-22 10:14               ` Evgeniy Polyakov
2009-01-22 10:27                 ` David Rientjes
2009-01-22 13:21                   ` Evgeniy Polyakov
2009-01-22 20:28                     ` David Rientjes
2009-01-22 21:06                       ` Evgeniy Polyakov
2009-01-22 21:35                         ` David Rientjes
2009-01-22 22:04                           ` Evgeniy Polyakov
2009-01-22 22:28                             ` David Rientjes
2009-01-22 22:53                               ` Evgeniy Polyakov
2009-01-22 23:25                                 ` Evgeniy Polyakov
2009-01-27 23:55                     ` Paul Menage
2009-01-23  9:45                   ` Nikanth Karthikesan
2009-01-23 10:33                     ` David Rientjes
2009-01-23 14:56                       ` Nikanth Karthikesan
2009-01-23 20:44                         ` David Rientjes
2009-01-27 10:20                           ` Nikanth Karthikesan
2009-01-27 10:53                             ` David Rientjes
2009-01-27 11:08                               ` Nikanth Karthikesan
2009-01-27 11:21                                 ` David Rientjes
2009-01-27 11:37                                   ` Nikanth Karthikesan
2009-01-27 20:29                                     ` David Rientjes
2009-01-28  1:00                         ` Paul Menage
2009-01-29 15:48                           ` Nikanth Karthikesan
2009-01-22  3:28 ` KAMEZAWA Hiroyuki
2009-01-22  5:13   ` Nikanth Karthikesan
2009-01-22  5:27     ` KAMEZAWA Hiroyuki
2009-01-22  6:11       ` Nikanth Karthikesan [this message]
2009-01-22  5:39     ` Arve Hjønnevåg
2009-01-22  6:12       ` Nikanth Karthikesan
2009-01-22  6:29         ` Arve Hjønnevåg
2009-01-22  6:42           ` Nikanth Karthikesan
2009-01-26 19:54 ` Balbir Singh
2009-01-26 19:56   ` Alan Cox
2009-01-27  7:02     ` KOSAKI Motohiro
2009-01-27  7:26       ` Balbir Singh
2009-01-27  7:39       ` David Rientjes
2009-01-27  7:44         ` KOSAKI Motohiro
2009-01-27  7:51           ` David Rientjes
2009-01-27  9:31             ` Evgeniy Polyakov
2009-01-27  9:37               ` David Rientjes
2009-01-27 13:40                 ` Evgeniy Polyakov
2009-01-27 20:37                   ` David Rientjes
2009-01-27 21:51                     ` Evgeniy Polyakov
2009-01-27 10:40               ` KOSAKI Motohiro
2009-01-27 13:45                 ` Evgeniy Polyakov
2009-01-27 15:40                   ` Balbir Singh
2009-01-27 21:54                     ` Evgeniy Polyakov
2009-01-27 20:41                   ` David Rientjes
2009-01-27 21:55                     ` Evgeniy Polyakov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200901221141.57374.knikanth@suse.de \
    --to=knikanth@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=arve@android.com \
    --cc=containers@lists.linux-foundation.org \
    --cc=csnook@redhat.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=menage@google.com \
    --cc=torvalds@linux-foundation.org \
    --cc=zbr@ioremap.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox