Re: [RFC PATCH v2 1/7] mm, oom: refactor select_bad_process() to take memcg as an argument

From: Roman Gushchin
Date: Thu Jun 08 2017 - 12:01:11 EST


On Tue, Jun 06, 2017 at 01:42:29PM -0700, David Rientjes wrote:
> On Tue, 6 Jun 2017, Roman Gushchin wrote:
>
> > Hi David!
> >
> > Thank you for sharing this!
> >
> > It's very interesting, and it looks like,
> > it's not that far from what I've suggested.
> >
> > So we definitily need to come up with some common solution.
> >
>

Hi David,

> Yes, definitely. I could post a series of patches to do everything that
> was listed in my email sans the fully inclusive kmem accounting, which may
> be pursued at a later date, if it would be helpful to see where there is
> common ground?
>
> Another question is what you think about userspace oom handling? We
> implement our own oom kill policies in userspace for both the system and
> for user-controlled memcg hierarchies because it often does not match the
> kernel implementation and there is some action that can be taken other
> than killing a process. Have you tried to implement functionality to do
> userspace oom handling, or are you considering it? This is the main
> motivation behind allowing an oom delay to be configured.

cgroup v2 memory controller is built on the idea of preventing OOMs
by using the memory.high limit. This allows an userspace app to get notified
before OOM happens (by looking at memory.events control), so there is (hopefully)
no need in things like oom delay.

Actually, I'm trying to implement some minimal functionality in the kernel,
which will simplify and make more consistent the userspace part of the job.
But, of course, the main goal of the patchset is to fix the unfairness
of the current victim selection.

Thanks!

Roman