lkml.org 
[lkml]   [2014]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 1/2] mm, memcg: avoid oom notification when current needs access to memory reserves
On Thu, 9 Jan 2014, Andrew Morton wrote:

> > I'm not sure why this was dropped since it's vitally needed for any sane
> > userspace oom handler to be effective.
>
> It was dropped because the other memcg developers disagreed with it.
>

It was acked-by Michal.

> I'd really prefer not to have to spend a great amount of time parsing
> argumentative and repetitive emails to make a tie-break decision which
> may well be wrong anyway.
>
> Please work with the other guys to find an acceptable implementation.
> There must be *something* we can do?
>

We REQUIRE this behavior for a sane userspace oom handler implementation.
You've snipped my email quite extensively, but I'd like to know
specifically how you would implement a userspace oom handler described by
Section 10 of Documentation/cgroups/memory.txt without this patch?

Are you suggesting that userspace is supposed to wait for successive
wakeups over some arbitrarily defined period of time to determine whether
memory freeing (i.e. a process in the exit() path or with a pending
SIGKILL making forward progress to free its memory) can be done or whether
it needs to do something to free memory? If not, how else is userspace
supposed to know that it should act?

How do you prevent unnecessary oom killing if the userspace oom handler
wakes up and kills something concurrent with the process triggering the
notification getting access to memory reserves, exiting, and freeing its
memory? Userspace just killed a process unnecessarily. This is the exact
reason why the kernel oom killer doesn't do a damn thing in these
conditions, because it's NOT ACTIONABLE by the oom killer, a process
simply needs to exit.


\
 
 \ /
  Last update: 2014-01-10 02:21    [W:0.103 / U:0.244 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site