On Thu, May 25, 2023 at 1:20 PM Mike Rapoport <rppt@xxxxxxxxxx> wrote: > > On Thu, May 25, 2023 at 10:00:23AM -0700, Vishal Moola wrote: > > On Thu, May 25, 2023 at 1:56 AM Mike Rapoport <rppt@xxxxxxxxxx> wrote: > > > > > > Hi, > > > > > > On Mon, May 01, 2023 at 12:27:56PM -0700, Vishal Moola (Oracle) wrote: > > > > No folio equivalents for page type operations have been defined, so > > > > define them for later folio conversions. > > > > > > Can you please elaborate why would we need folios for page table descriptors? > > > > Thanks for the review! > > > > These macros are for callers that care about the page type, i.e. Table and > > Buddy. Aside from accounting for those cases, the page tables don't use folios. > > These are more for the cleanliness of those callers. > > But why using folio APIs for PageType will be cleaner than using page APIs? > Do you have an example? Ah, for example in mm/memory-failure.c there are a couple uses of PageTable. Like the line : if (folio_test_slab(folio) || PageTable(&folio->page) || folio_test_reserved(folio)) where that PageTable(&folio->page) can now be written as folio_test_table(folio) instead. Also there are numerous uses of PageBuddy in mm/compaction.c that will likely need to be converted to folios as well.