[patch 0/3] mm: memcontrol: eliminate charge reparenting

Johannes Weiner
2014-09-20T20:00:32Z

Hi,

we've come a looong way when it comes to the basic cgroups model, and
the recent changes there open up a lot of opportunity to make drastic
simplifications to memory cgroups as well.

The decoupling of css from the user-visible cgroup, word-sized per-cpu
css reference counters, and css iterators that include offlined groups
means we can take per-charge css references, continue to reclaim from
offlined groups, and so get rid of the error-prone charge reparenting.

Combined with the higher-order reclaim fixes, lockless page counters,
and memcg iterator simplification I sent on Friday, the memory cgroup
core code is finally no longer the biggest file in mm/. Yay!

These patches are based on mmotm + the above-mentioned changes + Tj's
percpu-refcount conversion to atomic_long_t.

Thanks!

include/linux/cgroup.h | 26 +++
include/linux/percpu-refcount.h | 43 ++++-
mm/memcontrol.c | 337 ++------------------------------------
3 files changed, 75 insertions(+), 331 deletions(-)