With all the changes over the last few years, __folio_put_small and __folio_put_large have become almost identical to each other ... except you can't tell because they're spread over two files. Rearrange it all so that you can tell, and then inline them both into __folio_put(). Matthew Wilcox (Oracle) (4): mm/swap: Free non-hugetlb large folios in a batch page_alloc: Combine free_the_page() and free_unref_page() page_alloc: Inline destroy_large_folio() into __folio_put_large() swap: Combine __folio_put_small, __folio_put_large and __folio_put include/linux/mm.h | 2 -- mm/page_alloc.c | 37 ++++++++++--------------------------- mm/swap.c | 41 ++++++++++++++--------------------------- 3 files changed, 24 insertions(+), 56 deletions(-) -- 2.43.0