mbox series

[0/3] Introduce acctmem

Message ID 20241104210602.374975-1-willy@infradead.org (mailing list archive)
Headers show
Series Introduce acctmem | expand

Message

Matthew Wilcox Nov. 4, 2024, 9:05 p.m. UTC
As a step towards shrinking struct page, we need to remove all references
to page->memcg_data.  The model I'm working towards is described at
https://kernelnewbies.org/MatthewWilcox/Memdescs

In working on this series, I'm dissatisfied with how much I've assumed
that every page belongs to a folio.  There will need to be more changes
in order to split struct acctmem from struct folio in the future.
The first two patches take some steps in that direction, but I'm not
going to do any more than that in this series.

Matthew Wilcox (Oracle) (3):
  mm: Opencode split_page_memcg() in __split_huge_page()
  mm: Simplify split_page_memcg()
  mm: Introduce acctmem

 include/linux/memcontrol.h | 28 ++++++++++++++++++++++++++--
 include/linux/mm_types.h   |  6 +++---
 mm/huge_memory.c           | 11 +++++++++--
 mm/memcontrol.c            | 29 ++++++++++++++++-------------
 mm/page_alloc.c            |  8 ++++----
 mm/page_owner.c            |  2 +-
 mm/slab.h                  |  2 +-
 7 files changed, 60 insertions(+), 26 deletions(-)

Comments

Roman Gushchin Nov. 6, 2024, 12:09 a.m. UTC | #1
On Mon, Nov 04, 2024 at 09:05:57PM +0000, Matthew Wilcox wrote:
> As a step towards shrinking struct page, we need to remove all references
> to page->memcg_data.  The model I'm working towards is described at
> https://kernelnewbies.org/MatthewWilcox/Memdescs
> 
> In working on this series, I'm dissatisfied with how much I've assumed
> that every page belongs to a folio.  There will need to be more changes
> in order to split struct acctmem from struct folio in the future.
> The first two patches take some steps in that direction, but I'm not
> going to do any more than that in this series.

Is this series supposed to be merged in the current form or it's an rfc?

The code looks good to me and the approach makes sense, but the series
needs a bit more formal commit logs and series description.

Also, it would be great to have at least a short description of
the high-level design in place, without a link to an external site.

Thanks!