aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wilcox (Oracle) <willy@infradead.org>2022-06-17 18:50:15 +0100
committerakpm <akpm@linux-foundation.org>2022-07-03 18:08:47 -0700
commit5ef82fe7f6bca2827c3d1457e9ecd6219da29ede (patch)
treef40195fd2129c4dc3b58da7c0d03f52de7660a58
parentmm/swap: convert __put_single_page() to __folio_put_small() (diff)
downloadlinux-dev-5ef82fe7f6bca2827c3d1457e9ecd6219da29ede.tar.xz
linux-dev-5ef82fe7f6bca2827c3d1457e9ecd6219da29ede.zip
mm/swap: convert __put_compound_page() to __folio_put_large()
All the callers now have a folio, so pass it in. This doesn't save any text, but it does save a call to compound_head() as folio_test_hugetlb() does not contain a call like PageHuge() does. Link: https://lkml.kernel.org/r/20220617175020.717127-18-willy@infradead.org Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-rw-r--r--mm/swap.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/mm/swap.c b/mm/swap.c
index ceed884e90cf..b709f3ece57f 100644
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -106,7 +106,7 @@ static void __folio_put_small(struct folio *folio)
free_unref_page(&folio->page, 0);
}
-static void __put_compound_page(struct page *page)
+static void __folio_put_large(struct folio *folio)
{
/*
* __page_cache_release() is supposed to be called for thp, not for
@@ -114,9 +114,9 @@ static void __put_compound_page(struct page *page)
* (it's never listed to any LRU lists) and no memcg routines should
* be called for hugetlb (it has a separate hugetlb_cgroup.)
*/
- if (!PageHuge(page))
- __page_cache_release(page);
- destroy_compound_page(page);
+ if (!folio_test_hugetlb(folio))
+ __page_cache_release(&folio->page);
+ destroy_compound_page(&folio->page);
}
void __folio_put(struct folio *folio)
@@ -124,7 +124,7 @@ void __folio_put(struct folio *folio)
if (unlikely(folio_is_zone_device(folio)))
free_zone_device_page(&folio->page);
else if (unlikely(folio_test_large(folio)))
- __put_compound_page(&folio->page);
+ __folio_put_large(folio);
else
__folio_put_small(folio);
}
@@ -147,7 +147,7 @@ void put_pages_list(struct list_head *pages)
}
if (folio_test_large(folio)) {
list_del(&folio->lru);
- __put_compound_page(&folio->page);
+ __folio_put_large(folio);
continue;
}
/* LRU flag must be clear because it's passed using the lru */
@@ -976,7 +976,7 @@ void release_pages(struct page **pages, int nr)
unlock_page_lruvec_irqrestore(lruvec, flags);
lruvec = NULL;
}
- __put_compound_page(&folio->page);
+ __folio_put_large(folio);
continue;
}