Re: [RFC v2 01/14] fs: Allow fine-grained control of folio sizes

From: Pankaj Raghav (Samsung)
Date: Thu Feb 15 2024 - 05:22:24 EST


On Wed, Feb 14, 2024 at 06:49:49PM +0000, Matthew Wilcox wrote:
> On Tue, Feb 13, 2024 at 10:37:00AM +0100, Pankaj Raghav (Samsung) wrote:
> > +static inline void mapping_set_folio_orders(struct address_space *mapping,
> > + unsigned int min, unsigned int max)
> > +{
> > + if (min == 1)
> > + min = 2;
>
> If you order the "support order-1 folios" patch first, you can drop
> these two lines.
>
Thanks for pointing this out. I actually forgot to update this later in
my series.

The only failure I was noticing for LBS in 8k block sizes (generic/630)
gets fixed by this change as well :) .

> > +static inline unsigned int mapping_min_folio_nrpages(struct address_space *mapping)
>
> I'm not sure if you need this, but it should return unsigned long, not
> unsigned int. With 64KiB pages on Arm, a PMD page is 512MiB (order 13)
> and a PUD page will be order 26, which is far too close to 2^32 for
> my comfort.

There were some suggestions from Chinner which might make this function
go away. But in case I need it, I will update it to unsigned long to be
on the safe side.