mbox series

[v4,0/3] Fixes for memmap accounting

Message ID 20240808213437.682006-1-pasha.tatashin@soleen.com (mailing list archive)
Headers show
Series Fixes for memmap accounting | expand

Message

Pasha Tatashin Aug. 8, 2024, 9:34 p.m. UTC
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:
- Removed patch 'mm: update the memmap stat before page is freed', as
  noticed by Yosry after 3/3 that patch is not needed anymore.
- renamed nr_memmap to nr_mammp_pages and nr_memmap_boot to
  nr_memmap_boot_pages as suggested by David Hildenbrand
- Added the origianl oops information as suggested by Alison Schofield
- Improved commit log message as suggested by David Hildenbrand
- Added review-by's, acked-by's, and tested-by's

v3:
https://lore.kernel.org/linux-mm/20240808154237.220029-1-pasha.tatashin@soleen.com

Pasha Tatashin (3):
  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          | 18 ++++-----------
 mm/sparse-vmemmap.c    | 11 ++++-----
 mm/sparse.c            |  5 ++---
 mm/vmstat.c            | 51 ++++++++++++++++++++----------------------
 9 files changed, 48 insertions(+), 78 deletions(-)

Comments

Alison Schofield Aug. 8, 2024, 10:34 p.m. UTC | #1
On Thu, Aug 08, 2024 at 09:34:33PM +0000, Pasha Tatashin wrote:
> 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.

Thanks Pasha!
These fixups unblock the unit tests for dax, nvdimm, cxl.

Tested-by: Alison Schofield <alison.schofield@intel.com>

snip
>