[PATCH v1 0/4] Page counters optimizations

Roman Gushchin
2024-05-03T20:18:59Z

From: Roman Gushchin <roman.gushchin@getcruise.com>

This patchset reorganizes page_counter structures which helps to make
memory cgroup and hugetlb cgroup structures smaller (20%-35%) and
more cache-effective. It also eliminates useless tracking of protected
memory usage when it's not needed.

include/linux/hugetlb.h | 4 +-
include/linux/hugetlb_cgroup.h | 9 +---
include/linux/memcontrol.h | 15 ++----
include/linux/page_counter.h | 88 +++++++++++++++++++++++++-------
mm/hugetlb.c | 14 +++--
mm/hugetlb_cgroup.c | 150 ++++++++++++++++++++----------------------------------
mm/memcontrol.c | 351 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------------------------
mm/page_counter.c | 76 ++++++++++++++++++----------
8 files changed, 340 insertions(+), 367 deletions(-)

Roman Gushchin (4):
mm: memcg: convert enum res_type to mem_counter_type
mm: memcg: merge multiple page_counters into a single structure
mm: memcg: don't call propagate_protected_usage() needlessly
mm: page_counters: initialize usage using ATOMIC_LONG_INIT() macro

include/linux/hugetlb.h | 4 +-
include/linux/hugetlb_cgroup.h | 9 +-
include/linux/memcontrol.h | 15 +-
include/linux/page_counter.h | 88 +++++++--
mm/hugetlb.c | 14 +-
mm/hugetlb_cgroup.c | 150 +++++---------
mm/memcontrol.c | 351 ++++++++++++++-------------------
mm/page_counter.c | 76 ++++---
8 files changed, 340 insertions(+), 367 deletions(-)

--
2.43.2