As part of shrinking struct page, we need to stop using page->index. This patchset gets rid of most of the remaining references to page->index in mm, as well as increasing the number of functions which take a const folio/page pointer. It shrinks the text segment of mm by a few hundred bytes in my test config, probably mostly from removing calls to compound_head() in page_to_pgoff(). v2: - Add the bootmem patch to the series https://lore.kernel.org/linux-mm/20240912185602.2342148-1-willy@xxxxxxxxxxxxx/ - Expand the scope of the page_address_in_vma() patch - Fix the build error reported by lkp@xxxxxxxxx v1 here: https://lore.kernel.org/linux-mm/20240723153503.1669586-1-willy@xxxxxxxxxxxxx/ Matthew Wilcox (Oracle) (7): mm: Convert page_to_pgoff() to page_pgoff() mm: Use page_pgoff() in more places mm: Renovate page_address_in_vma() mm: Mass constification of folio/page pointers bootmem: Stop using page->index mm: Remove references to page->index in huge_memory.c mm: Use page->private instead of page->index in percpu arch/x86/mm/init_64.c | 9 ++++---- include/linux/bootmem_info.h | 25 +++++++++++++------- include/linux/ksm.h | 7 +++--- include/linux/mm.h | 2 +- include/linux/pagemap.h | 31 +++++++++++++------------ include/linux/rmap.h | 17 ++++++-------- kernel/futex/core.c | 2 +- mm/bootmem_info.c | 11 +++++---- mm/huge_memory.c | 18 +++++++-------- mm/internal.h | 9 ++++---- mm/ksm.c | 12 +++++----- mm/memory-failure.c | 30 ++++++++++++------------ mm/mempolicy.c | 2 +- mm/page_vma_mapped.c | 8 +++---- mm/percpu.c | 4 ++-- mm/rmap.c | 44 +++++++++++++++++++++++------------- mm/sparse.c | 8 +++---- mm/util.c | 2 +- 18 files changed, 133 insertions(+), 108 deletions(-) -- 2.43.0