On Mon, Jun 30, 2025 at 03:00:04PM +0200, David Hildenbrand wrote: > We can now simply check for PageAnon() and remove PageMappingFlags(). > > ... and while at it, use the folio instead and operate on > folio->mapping.
Probably worth mentioning to be super crystal clear that this is because now it's either an anon folio or a KSM folio, both of which set the FOLIO_MAPPING_ANON flag. I wonder if there's other places that could be fixed up similarly that do folio_test_anon() || folio_test_ksm() or equivalent? > > Reviewed-by: Zi Yan <z...@nvidia.com> > Signed-off-by: David Hildenbrand <da...@redhat.com> LGTM, so: Reviewed-by: Lorenzo Stoakes <lorenzo.stoa...@oracle.com> > --- > include/linux/page-flags.h | 5 ----- > mm/page_alloc.c | 7 +++---- > 2 files changed, 3 insertions(+), 9 deletions(-) > > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > index abed972e902e1..f539bd5e14200 100644 > --- a/include/linux/page-flags.h > +++ b/include/linux/page-flags.h > @@ -723,11 +723,6 @@ static __always_inline bool folio_mapping_flags(const > struct folio *folio) > return ((unsigned long)folio->mapping & PAGE_MAPPING_FLAGS) != 0; > } > > -static __always_inline bool PageMappingFlags(const struct page *page) > -{ > - return ((unsigned long)page->mapping & PAGE_MAPPING_FLAGS) != 0; > -} > - > static __always_inline bool folio_test_anon(const struct folio *folio) > { > return ((unsigned long)folio->mapping & PAGE_MAPPING_ANON) != 0; > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index a134b9fa9520e..a0ebcc5f54bb2 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -1375,10 +1375,9 @@ __always_inline bool free_pages_prepare(struct page > *page, > (page + i)->flags &= ~PAGE_FLAGS_CHECK_AT_PREP; > } > } > - if (PageMappingFlags(page)) { > - if (PageAnon(page)) > - mod_mthp_stat(order, MTHP_STAT_NR_ANON, -1); > - page->mapping = NULL; > + if (folio_test_anon(folio)) { > + mod_mthp_stat(order, MTHP_STAT_NR_ANON, -1); > + folio->mapping = NULL; > } > if (unlikely(page_has_type(page))) > page->page_type = UINT_MAX; > -- > 2.49.0 >