[PATCH v2 0/3] Fixes for memmap accounting

Pasha Tatashin posted 3 patches 1 year, 6 months ago
There is a newer version of this series
include/linux/mmzone.h        |  2 --
include/linux/vm_event_item.h |  2 ++
include/linux/vmstat.h        |  7 ++++--
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                   | 45 ++++++++++++++++-------------------
10 files changed, 45 insertions(+), 59 deletions(-)
[PATCH v2 0/3] Fixes for memmap accounting
Posted by Pasha Tatashin 1 year, 6 months ago
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.

v1: https://lore.kernel.org/all/20240806221454.1971755-1-pasha.tatashin@soleen.com
Changes:
	- Added patch "mm: don't account memmap on failure"
	- Changed from using nid in hot-remove functions to non-pernode
	  system-wide accounting for memmap data.

Pasha Tatashin (3):
  mm: update the memmap stat before page is freed
  mm: don't account memmap on failure
  mm: don't account memmap per node

 include/linux/mmzone.h        |  2 --
 include/linux/vm_event_item.h |  2 ++
 include/linux/vmstat.h        |  7 ++++--
 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                   | 45 ++++++++++++++++-------------------
 10 files changed, 45 insertions(+), 59 deletions(-)

-- 
2.46.0.76.ge559c4bf1a-goog
Re: [PATCH v2 0/3] Fixes for memmap accounting
Posted by Dan Williams 1 year, 6 months ago
[ add linux-cxl ]

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.
> 
> v1: https://lore.kernel.org/all/20240806221454.1971755-1-pasha.tatashin@soleen.com
> Changes:
> 	- Added patch "mm: don't account memmap on failure"
> 	- Changed from using nid in hot-remove functions to non-pernode
> 	  system-wide accounting for memmap data.
> 
> Pasha Tatashin (3):
>   mm: update the memmap stat before page is freed
>   mm: don't account memmap on failure
>   mm: don't account memmap per node

Hi Pasha,

Thanks for jumping on this debug!

We almost missed these. Can you update your scripts to auto-cc folks on the
Reported-by line, and optionally include the lists where the report originated
next time?

This is looking good from my tests, you can add:

Tested-by: Dan Williams <dan.j.williams@intel.com>

...but I still want to take a look at some of the implementation choices.
Re: [PATCH v2 0/3] Fixes for memmap accounting
Posted by Pasha Tatashin 1 year, 6 months ago
On Wed, Aug 7, 2024 at 7:00 PM Dan Williams <dan.j.williams@intel.com> wrote:
>
> [ add linux-cxl ]
>
> 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.
> >
> > v1: https://lore.kernel.org/all/20240806221454.1971755-1-pasha.tatashin@soleen.com
> > Changes:
> >       - Added patch "mm: don't account memmap on failure"
> >       - Changed from using nid in hot-remove functions to non-pernode
> >         system-wide accounting for memmap data.
> >
> > Pasha Tatashin (3):
> >   mm: update the memmap stat before page is freed
> >   mm: don't account memmap on failure
> >   mm: don't account memmap per node
>
> Hi Pasha,
>
> Thanks for jumping on this debug!
>
> We almost missed these. Can you update your scripts to auto-cc folks on the
> Reported-by line, and optionally include the lists where the report originated
> next time?

Thank  you, I will add them.

>
> This is looking good from my tests, you can add:
>
> Tested-by: Dan Williams <dan.j.williams@intel.com>

Thank you for testing

>
> ...but I still want to take a look at some of the implementation choices.

I am about to send v3.

Pasha