The quilt patch titled Subject: mm/memory-failure: convert hugetlb_clear_page_hwpoison to folios has been removed from the -mm tree. Its filename was mm-memory-failure-convert-hugetlb_clear_page_hwpoison-to-folios.patch This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm ------------------------------------------------------ From: Sidhartha Kumar <sidhartha.kumar@xxxxxxxxxx> Subject: mm/memory-failure: convert hugetlb_clear_page_hwpoison to folios Date: Thu, 12 Jan 2023 14:46:03 -0600 Change hugetlb_clear_page_hwpoison() to folio_clear_hugetlb_hwpoison() by changing the function to take in a folio. This converts one use of ClearPageHWPoison and HPageRawHwpUnreliable to their folio equivalents. Link: https://lkml.kernel.org/r/20230112204608.80136-4-sidhartha.kumar@xxxxxxxxxx Signed-off-by: Sidhartha Kumar <sidhartha.kumar@xxxxxxxxxx> Acked-by: Naoya Horiguchi <naoya.horiguchi@xxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx> Cc: Miaohe Lin <linmiaohe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- --- a/include/linux/hugetlb.h~mm-memory-failure-convert-hugetlb_clear_page_hwpoison-to-folios +++ a/include/linux/hugetlb.h @@ -878,9 +878,9 @@ extern int dissolve_free_huge_pages(unsi unsigned long end_pfn); #ifdef CONFIG_MEMORY_FAILURE -extern void hugetlb_clear_page_hwpoison(struct page *hpage); +extern void folio_clear_hugetlb_hwpoison(struct folio *folio); #else -static inline void hugetlb_clear_page_hwpoison(struct page *hpage) +static inline void folio_clear_hugetlb_hwpoison(struct folio *folio) { } #endif --- a/mm/hugetlb.c~mm-memory-failure-convert-hugetlb_clear_page_hwpoison-to-folios +++ a/mm/hugetlb.c @@ -1731,7 +1731,7 @@ static void __update_and_free_page(struc * which makes any healthy subpages reusable. */ if (unlikely(folio_test_hwpoison(folio))) - hugetlb_clear_page_hwpoison(&folio->page); + folio_clear_hugetlb_hwpoison(folio); for (i = 0; i < pages_per_huge_page(h); i++) { subpage = folio_page(folio, i); --- a/mm/memory-failure.c~mm-memory-failure-convert-hugetlb_clear_page_hwpoison-to-folios +++ a/mm/memory-failure.c @@ -1785,12 +1785,12 @@ static unsigned long free_raw_hwp_pages( return __free_raw_hwp_pages(hpage, move_flag); } -void hugetlb_clear_page_hwpoison(struct page *hpage) +void folio_clear_hugetlb_hwpoison(struct folio *folio) { - if (HPageRawHwpUnreliable(hpage)) + if (folio_test_hugetlb_raw_hwp_unreliable(folio)) return; - ClearPageHWPoison(hpage); - free_raw_hwp_pages(hpage, true); + folio_clear_hwpoison(folio); + free_raw_hwp_pages(&folio->page, true); } /* @@ -1889,7 +1889,7 @@ retry: folio_lock(folio); if (hwpoison_filter(p)) { - hugetlb_clear_page_hwpoison(&folio->page); + folio_clear_hugetlb_hwpoison(folio); if (migratable_cleared) folio_set_hugetlb_migratable(folio); folio_unlock(folio); _ Patches currently in -mm which might be from sidhartha.kumar@xxxxxxxxxx are mm-hugetlb-convert-isolate_hugetlb-to-folios.patch mm-hugetlb-convert-__update_and_free_page-to-folios.patch mm-hugetlb-convert-dequeue_hugetlb_page-functions-to-folios.patch mm-hugetlb-convert-alloc_surplus_huge_page-to-folios.patch mm-hugetlb-increase-use-of-folios-in-alloc_huge_page.patch mm-hugetlb-convert-alloc_migrate_huge_page-to-folios.patch mm-hugetlb-convert-restore_reserve_on_error-to-folios.patch mm-hugetlb-convert-demote_free_huge_page-to-folios.patch mm-hugetlb-convert-hugetlb_install_page-to-folios.patch mm-hugetlb-convert-hugetlbfs_pagecache_present-to-folios.patch mm-hugetlb-convert-putback_active_hugepage-to-take-in-a-folio.patch mm-hugetlb-convert-hugetlb-fault-paths-to-use-alloc_hugetlb_folio.patch mm-hugetlb-convert-restore_reserve_on_error-to-take-in-a-folio.patch mm-hugetlb-convert-hugetlb_add_to_page_cache-to-take-in-a-folio.patch mm-hugetlb-convert-hugetlb_wp-to-take-in-a-folio.patch documentation-mm-update-hugetlbfs-documentation-to-mention-alloc_hugetlb_folio.patch