Re: [PATCH v2 1/2] mm/hugetlb: convert dissolve_free_huge_pages() to folios

From: Sidhartha Kumar
Date: Mon Apr 15 2024 - 15:07:13 EST


On 4/15/24 11:28 AM, Vishal Moola wrote:
On Fri, Apr 12, 2024 at 11:21:38AM -0700, Sidhartha Kumar wrote:
Allows us to rename dissolve_free_huge_pages() to
dissolve_free_hugetlb_folio(). Convert one caller to pass in a folio
directly and use page_folio() to convert the caller in mm/memory-failure.

Signed-off-by: Sidhartha Kumar <sidhartha.kumar@xxxxxxxxxx>
Reviewed-by: Oscar Salvador <osalvador@xxxxxxx>
---

v1 -> v2:
- Change additional comments which reference hugepages to
hugetlb folios per Miaohe Lin.
- introduce patch 2

include/linux/hugetlb.h | 4 ++--
mm/hugetlb.c | 17 ++++++++---------
mm/memory-failure.c | 8 ++++----
3 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
index 3f3e628802792..f4191b10345d6 100644
--- a/include/linux/hugetlb.h
+++ b/include/linux/hugetlb.h
@@ -861,7 +861,7 @@ static inline int hstate_index(struct hstate *h)
return h - hstates;
}
-extern int dissolve_free_huge_page(struct page *page);
+extern int dissolve_free_hugetlb_folio(struct folio *folio);

You could drop the extern here as we don't need it anymore. Aside from that
LGTM.

Reviewed-by: Vishal Moola (Oracle) <vishal.moola@xxxxxxxxx>

Hi Andrew,

Could this diff be folded in this patch to remove the extern per Vishal.

Thanks,
Sid

diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
index f4191b10345d6..4cd7895590b6c 100644
--- a/include/linux/hugetlb.h
+++ b/include/linux/hugetlb.h
@@ -862,7 +862,7 @@ static inline int hstate_index(struct hstate *h)
}

extern int dissolve_free_hugetlb_folio(struct folio *folio);
-extern int dissolve_free_huge_pages(unsigned long start_pfn,
+int dissolve_free_huge_pages(unsigned long start_pfn,
unsigned long end_pfn);

#ifdef CONFIG_MEMORY_FAILURE