Glauber Costa | 5 Mar 14:10 2013

[PATCH v2 0/5] bypass root memcg charges if no memcgs are possible


Here is my recent changes in my patchset to bypass charges from the root cgroup
if no other memcgs are present in the system. At the time, the main complaint
came from Michal Hocko, correctly pointing out that if hierarchy == 0, we can't
bypass the root memcg forever and at some point, we need to transfer charges.
This is now done in this patch.


I haven't yet got access to a big box again. I am sending this with outdated
numbers in the interest of having this in the open earlier. However, the main
idea stands, and I believe the numbers are still generally valid (albeit of
course, it would be better to have them updated. Independent evaluations always

* v2
- Fixed some LRU bugs
- Only keep bypassing if we have root-level hierarchy.

Glauber Costa (5):
  memcg: make nocpu_base available for non hotplug
  memcg: provide root figures from system totals
  memcg: make it suck faster
  memcg: do not call page_cgroup_init at system_boot
  memcg: do not walk all the way to the root for memcg

 include/linux/memcontrol.h  |  72 ++++++++++---
 include/linux/page_cgroup.h |  28 ++---
 init/main.c                 |   2 -
 mm/memcontrol.c             | 243 ++++++++++++++++++++++++++++++++++++++++----
 mm/page_cgroup.c            | 150 ++++++++++++++-------------
 5 files changed, 382 insertions(+), 113 deletions(-)