Memmap accounting provides us with observability of how much memory is used for per-page metadata: i.e. "struct page"'s and "struct page_ext". It also provides with information of how much was allocated using boot allocator (i.e. not part of MemTotal), and how much was allocated using buddy allocated (i.e. part of MemTotal). This small series fixes a few problems that were discovered with the original patch. Changes: - Added patch "mm: add system wide stats items category" - Changed from using system-wide events to system-wide stats v2: https://lore.kernel.org/lkml/20240807211929.3433304-1-pasha.tatashin@xxxxxxxxxx Pasha Tatashin (4): mm: update the memmap stat before page is freed mm: don't account memmap on failure mm: add system wide stats items category mm: don't account memmap per-node include/linux/mmzone.h | 2 -- include/linux/vmstat.h | 22 +++++++----------- mm/hugetlb_vmemmap.c | 13 +++++------ mm/mm_init.c | 3 +-- mm/page_alloc.c | 1 - mm/page_ext.c | 15 +++++-------- mm/sparse-vmemmap.c | 11 ++++----- mm/sparse.c | 5 ++--- mm/vmstat.c | 51 ++++++++++++++++++++---------------------- 9 files changed, 49 insertions(+), 74 deletions(-) -- 2.46.0.76.ge559c4bf1a-goog