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(-) -- 2.43.0