Re: [patch -mm v3 0/3] mm, memcg: introduce oom policies

2018-03-15 Thread David Rientjes
On Mon, 12 Mar 2018, David Rientjes wrote:

> There are three significant concerns about the cgroup aware oom killer as
> it is implemented in -mm:
> 
>  (1) allows users to evade the oom killer by creating subcontainers or
>  using other controllers since scoring is done per cgroup and not
>  hierarchically,
> 
>  (2) unfairly compares the root mem cgroup using completely different
>  criteria than leaf mem cgroups and allows wildly inaccurate results
>  if oom_score_adj is used, and
> 
>  (3) does not allow the user to influence the decisionmaking, such that
>  important subtrees cannot be preferred or biased.
> 
> This patchset aims to fix (1) completely and, by doing so, introduces a
> completely extensible user interface that can be expanded in the future.
> 
> It preserves all functionality that currently exists in -mm and extends
> it to be generally useful outside of very specialized usecases.
> 
> It eliminates the mount option for the cgroup aware oom killer entirely
> since it is now enabled through the root mem cgroup's oom policy.

There are currently six patches in this series since additional patches on 
top of it have been proposed to fix the several issues with the current 
implementation in -mm.  The six patches address (1) and (2) above, as well 
as a couple other minor tweaks.  I believe (3) can be subsequently 
addressed after the feature has been merged since it builds upon what is 
already here and shouldn't hold it back from being merged itself.

I plan on sending out the entire series once feedback is received for the 
patches already sent.

Thanks.


[patch -mm v3 0/3] mm, memcg: introduce oom policies

2018-03-12 Thread David Rientjes
There are three significant concerns about the cgroup aware oom killer as
it is implemented in -mm:

 (1) allows users to evade the oom killer by creating subcontainers or
 using other controllers since scoring is done per cgroup and not
 hierarchically,

 (2) unfairly compares the root mem cgroup using completely different
 criteria than leaf mem cgroups and allows wildly inaccurate results
 if oom_score_adj is used, and

 (3) does not allow the user to influence the decisionmaking, such that
 important subtrees cannot be preferred or biased.

This patchset aims to fix (1) completely and, by doing so, introduces a
completely extensible user interface that can be expanded in the future.

It preserves all functionality that currently exists in -mm and extends
it to be generally useful outside of very specialized usecases.

It eliminates the mount option for the cgroup aware oom killer entirely
since it is now enabled through the root mem cgroup's oom policy.
---
 v3:
  - updated documentation
  - rebased to next-20180309

 Documentation/cgroup-v2.txt | 90 -
 include/linux/cgroup-defs.h |  5 ---
 include/linux/memcontrol.h  | 21 +
 kernel/cgroup/cgroup.c  | 13 +-
 mm/memcontrol.c | 64 +-
 5 files changed, 132 insertions(+), 61 deletions(-)