[PATCH mm-unstable v2 0/8] continue hugetlb folio conversion

From: Sidhartha Kumar
Date: Tue Jan 10 2023 - 16:29:10 EST


============== 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