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(). Matthew Wilcox (Oracle) (6): bootmem: Stop using page->index mm: Constify page_address_in_vma() mm: Convert page_to_pgoff() to page_pgoff() mm: Mass constification of folio/page pointers 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/pagemap.h | 18 ------------------ include/linux/rmap.h | 12 ++++++------ mm/bootmem_info.c | 11 ++++++----- mm/huge_memory.c | 18 +++++++++--------- mm/internal.h | 13 ++++++++++--- mm/ksm.c | 5 +++-- mm/memory-failure.c | 28 +++++++++++++++------------- mm/page_vma_mapped.c | 5 +++-- mm/percpu.c | 4 ++-- mm/rmap.c | 18 ++++++++++-------- mm/sparse.c | 8 ++++---- mm/util.c | 2 +- 15 files changed, 94 insertions(+), 89 deletions(-) -- 2.43.0