Well, this patch series has got completely out of hand. What started out as "Let's try to optimise the freeing path a bit" turned into "Hey, I can free up an entire word in the first tail page", and grew "Oh, while we're here, let's rename a bunch of things". No detailed changelog from v1 because _so much_ changed. Matthew Wilcox (Oracle) (13): io_uring: Stop calling free_compound_page() mm: Call free_huge_page() directly mm: Convert free_huge_page() to free_huge_folio() mm: Convert free_transhuge_folio() to folio_undo_large_rmappable() mm; Convert prep_transhuge_page() to folio_prep_large_rmappable() mm: Remove free_compound_page() and the compound_page_dtors array mm: Remove HUGETLB_PAGE_DTOR mm: Add large_rmappable page flag mm: Rearrange page flags mm: Free up a word in the first tail page mm: Remove folio_test_transhuge() mm: Add tail private fields to struct folio mm: Convert split_huge_pages_pid() to use a folio .../admin-guide/kdump/vmcoreinfo.rst | 14 +-- Documentation/mm/hugetlbfs_reserv.rst | 14 +-- .../zh_CN/mm/hugetlbfs_reserv.rst | 4 +- include/linux/huge_mm.h | 6 +- include/linux/hugetlb.h | 3 +- include/linux/mm.h | 39 +------- include/linux/mm_types.h | 19 +++- include/linux/page-flags.h | 60 ++++++++---- io_uring/io_uring.c | 6 +- io_uring/kbuf.c | 6 +- kernel/crash_core.c | 4 +- mm/huge_memory.c | 51 +++++----- mm/hugetlb.c | 97 ++++++------------- mm/internal.h | 5 +- mm/khugepaged.c | 2 +- mm/memcontrol.c | 2 +- mm/mempolicy.c | 15 +-- mm/page_alloc.c | 41 +++----- 18 files changed, 161 insertions(+), 227 deletions(-) -- 2.40.1