Re: [RFC PATCH v2] mm, netfs, fscache: Stop read optimisation when folio removed from pagecache
From: David Howells
Date: Mon Nov 14 2022 - 19:42:15 EST
Dominique Martinet <asmadeus@xxxxxxxxxxxxx> wrote:
> any harm in setting this if netfs isn't enabled?
> (just asking because you checked in fs/9p/cache.c above)
Well, it forces a call to ->release_folio() every time a folio is released, if
set, rather than just if PG_private/PG_private_2 is set.
> > +static inline void mapping_clear_release_always(struct address_space *mapping)
> > +{
> > + set_bit(AS_RELEASE_ALWAYS, &mapping->flags);
>
> clear_bit certainly?
Bah. Yes.
> > - if (folio_has_private(folio) && !filemap_release_folio(folio, 0))
> > + if (!filemap_release_folio(folio, 0))
>
> should this (and all others) check for folio_needs_release instead of has_private?
> filemap_release_folio doesn't check as far as I can see, but perhaps
> it's already fast and noop for another reason I didn't see.
Willy suggested merging the checks from folio_has_private() into
filemap_release_folio():
https://lore.kernel.org/r/Yk9V/03wgdYi65Lb@xxxxxxxxxxxxxxxxxxxx/
David