[PATCH v2 0/3] percpu: memcg memory accounting rework

From: Roman Gushchin
Date: Wed Jun 02 2021 - 21:09:45 EST


This patchset reworks memcg-based accounting of the percpu memory:
instead of using two types of chunks (memcg-aware and non-memcg-aware)
it treats all chunks as memcg-aware. An extra memory used for objcg
arrays will is compensated by a better chunks utilization, so the
total memory footprint should be the same or smaller.

First two patches are preparational changes and cleanups on the memcg side.
The third one is percpu accounting rework.

v2:
- make all chunks memcg-aware instead of on-demand objcg allocation, by Dennis

v1:
https://lkml.org/lkml/2021/5/11/1343


Roman Gushchin (3):
mm, memcg: mark cgroup_memory_nosocket, nokmem and noswap as
__ro_after_init
mm, memcg: introduce mem_cgroup_kmem_disabled()
percpu: rework memcg accounting

include/linux/memcontrol.h | 5 ++
mm/memcontrol.c | 11 ++-
mm/percpu-internal.h | 52 +--------------
mm/percpu-km.c | 5 +-
mm/percpu-stats.c | 46 +++++--------
mm/percpu-vm.c | 11 ++-
mm/percpu.c | 133 +++++++++++++++----------------------
7 files changed, 88 insertions(+), 175 deletions(-)

--
2.31.1