linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH mm-unstable v3 00/10] convert core hugetlb functions to folios
@ 2022-11-17 21:14 Sidhartha Kumar
  2022-11-17 21:14 ` [PATCH mm-unstable v3 01/10] mm: add folio dtor and order setter functions Sidhartha Kumar
                   ` (9 more replies)
  0 siblings, 10 replies; 13+ messages in thread
From: Sidhartha Kumar @ 2022-11-17 21:14 UTC (permalink / raw)
  To: linux-kernel, linux-mm
  Cc: akpm, songmuchun, mike.kravetz, willy, almasrymina, linmiaohe,
	hughd, Sidhartha Kumar

============== OVERVIEW ===========================
Now that many hugetlb helper functions that deal with hugetlb specific
flags[1] and hugetlb cgroups[2] are converted to folios, higher level
allocation, prep, and freeing functions within hugetlb can also be
converted to operate in folios.

Patch 1 of this series implements the wrapper functions around setting
the compound destructor and compound order for a folio. Besides the user
added in patch 1, patch 2 and patch 9 also use these helper functions.

Patches 2-10 convert the higher level hugetlb functions to 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 10/17/2022 mm-unstable

[1] https://lore.kernel.org/lkml/20220922154207.1575343-1-sidhartha.kumar@oracle.com/
[2] https://lore.kernel.org/linux-mm/20221101223059.460937-1-sidhartha.kumar@oracle.com/

v1 -> v2:
	- fix conflict with "mm,thp,rmap: simplify compound page mapcount handling"
v2 -> v3:
  - v2 contained wrong version of patch 1

Sidhartha Kumar (10):
  mm: add folio dtor and order setter functions
  mm/hugetlb: convert destroy_compound_gigantic_page() to folios
  mm/hugetlb: convert dissolve_free_huge_page() to folios
  mm/hugetlb: convert remove_hugetlb_page() to folios
  mm/hugetlb: convert update_and_free_page() to folios
  mm/hugetlb: convert add_hugetlb_page() to folios and add
    hugetlb_cma_folio()
  mm/hugetlb: convert enqueue_huge_page() to folios
  mm/hugetlb: convert free_gigantic_page() to folios
  mm/hugetlb: convert hugetlb prep functions to folios
  mm/hugetlb: change hugetlb allocation functions to return a folio

 include/linux/mm.h |  16 ++
 mm/hugetlb.c       | 383 ++++++++++++++++++++++-----------------------
 2 files changed, 206 insertions(+), 193 deletions(-)

-- 
2.38.1



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-11-21 15:22 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-17 21:14 [PATCH mm-unstable v3 00/10] convert core hugetlb functions to folios Sidhartha Kumar
2022-11-17 21:14 ` [PATCH mm-unstable v3 01/10] mm: add folio dtor and order setter functions Sidhartha Kumar
2022-11-17 21:14 ` [PATCH mm-unstable v3 02/10] mm/hugetlb: convert destroy_compound_gigantic_page() to folios Sidhartha Kumar
2022-11-17 21:14 ` [PATCH mm-unstable v3 03/10] mm/hugetlb: convert dissolve_free_huge_page() " Sidhartha Kumar
2022-11-17 21:14 ` [PATCH mm-unstable v3 04/10] mm/hugetlb: convert remove_hugetlb_page() " Sidhartha Kumar
2022-11-17 21:14 ` [PATCH mm-unstable v3 05/10] mm/hugetlb: convert update_and_free_page() " Sidhartha Kumar
2022-11-17 21:14 ` [PATCH mm-unstable v3 06/10] mm/hugetlb: convert add_hugetlb_page() to folios and add hugetlb_cma_folio() Sidhartha Kumar
2022-11-19 18:59   ` Tarun Sahu
2022-11-21 15:22     ` Sidhartha Kumar
2022-11-17 21:14 ` [PATCH mm-unstable v3 07/10] mm/hugetlb: convert enqueue_huge_page() to folios Sidhartha Kumar
2022-11-17 21:14 ` [PATCH mm-unstable v3 08/10] mm/hugetlb: convert free_gigantic_page() " Sidhartha Kumar
2022-11-17 21:15 ` [PATCH mm-unstable v3 09/10] mm/hugetlb: convert hugetlb prep functions " Sidhartha Kumar
2022-11-17 21:15 ` [PATCH mm-unstable v3 10/10] mm/hugetlb: change hugetlb allocation functions to return a folio Sidhartha Kumar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox