linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: <leonid.moiseichuk@nokia.com>
To: rientjes@google.com
Cc: gregkh@suse.de, linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	cesarb@cesarb.net, kamezawa.hiroyu@jp.fujitsu.com,
	emunson@mgebm.net, penberg@kernel.org, aarcange@redhat.com,
	riel@redhat.com, mel@csn.ul.ie, dima@android.com,
	rebecca@android.com, san@google.com, akpm@linux-foundation.org,
	vesa.jaaskelainen@nokia.com
Subject: RE: [PATCH 3.2.0-rc1 3/3] Used Memory Meter pseudo-device module
Date: Wed, 11 Jan 2012 12:46:33 +0000	[thread overview]
Message-ID: <84FF21A720B0874AA94B46D76DB98269045568A1@008-AM1MPN1-003.mgdnok.nokia.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1201091251300.10232@chino.kir.corp.google.com>

> -----Original Message-----
> From: ext David Rientjes [mailto:rientjes@google.com]
> Sent: 09 January, 2012 21:55
...
> 
> Maybe there's some confusion: the proposed oom killer delay that I'm
> referring to here is not upstream and has never been written for global oom
> conditions.  My reference to it earlier was as an internal patch that we carry
> on top of memory controller, but what I'm proposing here is for it to be
> implemented globally.

That is explains situation - I know how memcg can handle OOM in cgroup but not about internal patch.

> So if the page allocator can make no progress in freeing memory, we would
> introduce a delay in out_of_memory() if it were configured via a sysctl from
> userspace.  When this delay is started, applications waiting on this event can
> be notified with eventfd(2) that the delay has started and they have
> however many milliseconds to address the situation.  When they rewrite the
> sysctl, the delay is cleared.  If they don't rewrite the sysctl and the delay
> expires, the oom killer proceeds with killing.
> 
> What's missing for your use case with this proposal?

Timed delays in multi-process handling in case OOM looks for me fragile construction due to delays are not predicable.
Memcg supports [1] better approach to freeze whole group and kick pointed user-space application to handle it. We planned
to use it as:
- enlarge cgroup
- send SIGTERM to selected "bad" application e.g. based on oom_score
- wait a bit
- send SIGKILL to "bad" application
- reduce group size

But finally default OOM killer starts to work fine.

[1] http://lwn.net/Articles/377708/

 

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2012-01-11 12:47 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-04 17:21 [PATCH 3.2.0-rc1 0/3] Used Memory Meter pseudo-device and related changes in MM Leonid Moiseichuk
2012-01-04 17:21 ` [PATCH 3.2.0-rc1 1/3] Making si_swapinfo exportable Leonid Moiseichuk
2012-01-04 17:21 ` [PATCH 3.2.0-rc1 2/3] MM hook for page allocation and release Leonid Moiseichuk
2012-01-04 20:40   ` Pekka Enberg
2012-01-05  6:59   ` KAMEZAWA Hiroyuki
2012-01-05 11:26     ` leonid.moiseichuk
2012-01-05 12:49       ` Pekka Enberg
2012-01-05 15:05         ` Rik van Riel
2012-01-05 15:17           ` leonid.moiseichuk
2012-01-05 15:22   ` Mel Gorman
2012-01-04 17:21 ` [PATCH 3.2.0-rc1 3/3] Used Memory Meter pseudo-device module Leonid Moiseichuk
2012-01-04 19:55   ` Greg KH
2012-01-09  9:58     ` leonid.moiseichuk
2012-01-09 10:09       ` David Rientjes
2012-01-09 10:19         ` leonid.moiseichuk
2012-01-09 20:55           ` David Rientjes
2012-01-11 12:46             ` leonid.moiseichuk [this message]
2012-01-11 21:44               ` David Rientjes
2012-01-12  8:32                 ` leonid.moiseichuk
2012-01-12 20:54                   ` David Rientjes
2012-01-13  9:34                     ` leonid.moiseichuk
2012-01-13 11:06                       ` David Rientjes
2012-01-13 11:51                         ` leonid.moiseichuk
2012-01-13 21:35                           ` David Rientjes
2012-01-04 19:56 ` [PATCH 3.2.0-rc1 0/3] Used Memory Meter pseudo-device and related changes in MM Greg KH
2012-01-04 20:17   ` Rik van Riel
2012-01-04 20:42     ` Pekka Enberg
2012-01-05 23:01       ` David Rientjes
2012-01-05 12:22     ` leonid.moiseichuk
2012-01-05 11:47   ` leonid.moiseichuk
2012-01-05 12:40     ` Pekka Enberg
2012-01-05 13:02       ` leonid.moiseichuk
2012-01-05 14:57         ` Greg KH
2012-01-05 16:13           ` leonid.moiseichuk
2012-01-05 23:10             ` David Rientjes
2012-01-09  8:27               ` leonid.moiseichuk
2012-01-06  0:26     ` KOSAKI Motohiro
2012-01-09  8:49       ` leonid.moiseichuk

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=84FF21A720B0874AA94B46D76DB98269045568A1@008-AM1MPN1-003.mgdnok.nokia.com \
    --to=leonid.moiseichuk@nokia.com \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=cesarb@cesarb.net \
    --cc=dima@android.com \
    --cc=emunson@mgebm.net \
    --cc=gregkh@suse.de \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mel@csn.ul.ie \
    --cc=penberg@kernel.org \
    --cc=rebecca@android.com \
    --cc=riel@redhat.com \
    --cc=rientjes@google.com \
    --cc=san@google.com \
    --cc=vesa.jaaskelainen@nokia.com \
    /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