From: Roman Gushchin <roman.gushchin@xxxxxxxxxxxxx> 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