[lkml]   [2013]   [Jan]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH 0/2] Mempressure cgroup
Hi all,

Here is another round of the mempressure cgroup. This time I dared to
remove the RFC tag. :)

In this revision:

- Addressed most of Kirill Shutemov's comments. I didn't bother
implementing per-level lists, though. It would needlessly complicate the
logic, and the gain would be only visible with lots of watchers (which
we don't have for our use-cases). But it is always an option to add the

- I've split the pach into two: 'shrinker' and 'levels' parts. While the
full-fledged userland shrinker is an interesting idea, we don't have any
users ready for it, so I won't advocate for it too much.

And since at least Kirill has some concerns about it, I don't want the
shrinker to block the pressure levels.

So, these are now separate. At some point, I'd like to both of them
merged, but if anything, let's discuss them separately;

- Rebased onto v3.8-rc2.

RFC v2 (

- Added documentation, describes APIs and the purpose;
- Implemented shrinker interface, this is based on Andrew's idea and
supersedes my "balance" level idea;
- The shrinker interface comes with a stress-test utility, that is what
Andrew was also asking for. A simple app that we can run and see if the
thing works as expected;
- Added reclaimer's target_mem_cgroup handling;
- As promised, added support for multiple listeners, and fixed some other
comments on the previous RFC.

RFC v1 (

Documentation/cgroups/mempressure.txt | 97 +++++
Documentation/cgroups/mempressure_test.c | 213 ++++++++++
include/linux/cgroup_subsys.h | 6 +
include/linux/vmstat.h | 11 +
init/Kconfig | 13 +
mm/Makefile | 1 +
mm/mempressure.c | 487 +++++++++++++++++++++++
mm/vmscan.c | 4 +
8 files changed, 832 insertions(+)

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