Re: [RFC PATCH v2] mm, netfs: Provide a means of invalidation without using launder_folio

From: David Howells
Date: Wed Mar 27 2024 - 16:38:15 EST


Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote:

> > + /* Prevent new folios from being added to the inode. */
> > + filemap_invalidate_lock(mapping);
>
> I'm kind of surprised that the callers wouldn't want to hold that lock
> over a call to this function. I guess you're working on the callers,
> so you'd know better than I would, but I would have used lockdep to
> assert that invalidate_lock was held.

I'm not sure. None of the places that look like they'd be calling this
currently take that lock (though possibly they should).

Also, should I provide it with explicit range, I wonder?

> > + if (unlikely(!RB_EMPTY_ROOT(&mapping->i_mmap.rb_root)))
> > + unmap_mapping_pages(mapping, 0, ULONG_MAX, false);
>
> Is this optimisation worth it?

Perhaps not.

David