From: xu xin <xu.xin16@xxxxxxxxxx> With the enablement of container-level KSM (e.g., via prctl [1]), there is a growing demand for container-level observability of KSM behavior. However, current cgroup implementations lack support for exposing KSM-related metrics. This patch introduces a new interface named ksm_stat at the cgroup hierarchy level, enabling users to monitor KSM merging statistics specifically for containers where this feature has been activated, eliminating the need to manually inspect KSM information for each individual process within the cgroup. Users can obtain the KSM information of a cgroup just by: # cat /sys/fs/cgroup/memory.ksm_stat ksm_rmap_items 76800 ksm_zero_pages 0 ksm_merging_pages 76800 ksm_process_profit 309657600 Current implementation supports both cgroup v2 and cgroup v1. xu xin (9): memcontrol: rename mem_cgroup_scan_tasks() memcontrol: introduce the new mem_cgroup_scan_tasks() memcontrol: introduce ksm_stat at memcg-v2 memcontrol: add ksm_zero_pages in cgroup/memory.ksm_stat memcontrol: add ksm_merging_pages in cgroup/memory.ksm_stat memcontrol: add ksm_profit in cgroup/memory.ksm_stat memcontrol-v1: add ksm_stat at memcg-v1 Documentation: add ksm_stat description in cgroup-v1/memory.rst Documentation: add ksm_stat description in cgroup-v2.rst Documentation/admin-guide/cgroup-v1/memory.rst | 36 +++++++++++ Documentation/admin-guide/cgroup-v2.rst | 12 ++++ include/linux/memcontrol.h | 14 +++++ mm/memcontrol-v1.c | 6 ++ mm/memcontrol.c | 83 +++++++++++++++++++++++++- mm/oom_kill.c | 6 +- 6 files changed, 152 insertions(+), 5 deletions(-) -- 2.15.2