mm-hugetlb-get-rid-of-page_hstate.patch removed from -mm tree
The quilt patch titled
Subject: mm/hugetlb: get rid of page_hstate()
has been removed from the -mm tree. Its filename was
mm-hugetlb-get-rid-of-page_hstate.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 <[email protected]>
Subject: mm/hugetlb: get rid of page_hstate()
Date: Wed, 19 Jul 2023 11:41:45 -0700
Convert the last page_hstate() user to use folio_hstate() so page_hstate() can be safely removed.
Signed-off-by Sidhartha Kumar <[email protected]>
Reviewed-by Mike Kravetz <[email protected]>
Cc Matthew Wilcox (Oracle) <[email protected]>
Cc Muchun Song <[email protected]>
Signed-off-by Andrew Morton <[email protected]>
---
include/linux/hugetlb.h | 10 ---------- mm/hugetlb.c | 6 +++--- mm/page_isolation.c | 8 ++++---- 3 files changed, 7 insertions(+), 17 deletions(-)
include/linux/hugetlb.h renamed from include/linux/hugetlb.h~mm-hugetlb-get-rid-of-page_hstate +0 -10
@@ -841,11 +841,6 @@ static inline struct hstate *folio_hstatreturn size_to_hstate (folio_size (folio)); } -static inline struct hstate *page_hstate (struct page *page) -{ -return folio_hstate (page_folio (page)); -} -static inline unsigned hstate_index_to_shift (unsigned index) {return hstates[index].order +PAGE_SHIFT ;
@@ -1061,11 +1056,6 @@ static inline struct hstate *folio_hstat {return NULL ; } - -static inline struct hstate *page_hstate (struct page *page) -{ -return NULL ; -}static inline struct hstate *size_to_hstate (unsigned long size) {
mm/hugetlb.c renamed from mm/hugetlb.c~mm-hugetlb-get-rid-of-page_hstate +3 -3
@@ -1785,10 +1785,10 @@ static void free_hpage_workfn(struct wor node = node->next; page->mapping =NULL ;/* -* The VM_BUG_ON_PAGE(!PageHuge(page), page) in page_hstate() -* is going to trigger because a previous call to +* The VM_BUG_ON_FOLIO(!folio_test_hugetlb(folio), folio) in +* folio_hstate() is going to trigger because a previous call to * remove_hugetlb_folio() will call folio_set_compound_dtor -* (folio, NULL_COMPOUND_DTOR), so do not use page_hstate() +* (folio, NULL_COMPOUND_DTOR), so do not use folio_hstate() * directly. */ h =size_to_hstate (page_size (page));
mm/page_isolation.c renamed from mm/page_isolation.c~mm-hugetlb-get-rid-of-page_hstate +4 -4
@@ -79,17 +79,17 @@ static struct page *has_unmovable_pages(* handle each tail page individually in migration. */ if (PageHuge (page) ||PageTransCompound (page)) { -struct page *head =compound_head (page); +struct folio *folio =page_folio (page);unsigned int skip_pages;if (PageHuge (page)) { -if (!hugepage_migration_supported (page_hstate (head))) +if (!hugepage_migration_supported (folio_hstate (folio)))return page; - }else if (!PageLRU (head) && !__PageMovable (head)) { + }else if (!folio_test_lru (folio) && !__folio_test_movable (folio)) {return page; } - skip_pages =compound_nr (head) - (page - head); + skip_pages =folio_nr_pages (folio) -folio_page_idx (folio, page); pfn += skip_pages -1 ;continue ; }
_
Patches currently in -mm which might be from [email protected] are