On 25/08/2023 14:59, Matthew Wilcox (Oracle) wrote: > Hugetlb folios still get special treatment, but normal large folios > can now be freed by free_unref_folios(). This should have a reasonable > performance impact, TBD. > > Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> Reviewed-by: Ryan Roberts <ryan.roberts@xxxxxxx> > --- > mm/swap.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/mm/swap.c b/mm/swap.c > index 21c2df0f7928..8bd15402cd8f 100644 > --- a/mm/swap.c > +++ b/mm/swap.c > @@ -1000,12 +1000,13 @@ void folios_put(struct folio_batch *folios) > if (!folio_put_testzero(folio)) > continue; > > - if (folio_test_large(folio)) { > + /* hugetlb has its own memcg */ > + if (folio_test_hugetlb(folio)) { Ahh I see, you special case hugetlb here. You can disregard my comment about hugetlb in the previous patch. > if (lruvec) { > unlock_page_lruvec_irqrestore(lruvec, flags); > lruvec = NULL; > } > - __folio_put_large(folio); > + free_huge_folio(folio); > continue; > } >