============== OVERVIEW =========================== This series continues the conversion of core hugetlb functions to use folios. This series converts many helper funtions in the hugetlb fault path. This is in preperation for another series to convert the hugetlb fault code paths to operate on folios. ============== TESTING =========================== LTP: Ran 10 back to back rounds of the LTP hugetlb test suite. Gigantic Huge Pages: Test allocation and freeing via hugeadm commands: hugeadm --pool-pages-min 1GB:10 hugeadm --pool-pages-min 1GB:0 Demote: Demote 1 1GB hugepages to 512 2MB hugepages echo 1 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages echo 1 > /sys/kernel/mm/hugepages/hugepages-1048576kB/demote cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages # 512 cat /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages # 0 Rebased on 1/3/2023 mm-unstable v1 -> v2: - remove reduntant get_folio_unless_zero() and use existing folio_try_get() in patch 1 per Matthew - grap folio directly from hugepage_freelists in patch 3 per Matthew - add r-b to patches 1-2, 4-7 - change variabale 'subfolio' to inner_folio in patch 8 per John Hubbard Sidhartha Kumar (8): mm/hugetlb: convert isolate_hugetlb to folios mm/hugetlb: convert __update_and_free_page() to folios mm/hugetlb: convert dequeue_hugetlb_page functions to folios mm/hugetlb: convert alloc_surplus_huge_page() to folios mm/hugetlb: increase use of folios in alloc_huge_page() mm/hugetlb: convert alloc_migrate_huge_page to folios mm/hugetlb: convert restore_reserve_on_error() to folios mm/hugetlb: convert demote_free_huge_page to folios include/linux/hugetlb.h | 10 +- include/linux/hugetlb_cgroup.h | 8 +- mm/gup.c | 2 +- mm/hugetlb.c | 214 +++++++++++++++++---------------- mm/hugetlb_cgroup.c | 8 +- mm/memory-failure.c | 2 +- mm/memory_hotplug.c | 2 +- mm/mempolicy.c | 2 +- mm/migrate.c | 7 +- 9 files changed, 130 insertions(+), 125 deletions(-) -- 2.39.0