Thread (46 messages) 46 messages, 4 authors, 2021-03-23

Re: [PATCH v4 02/28] mm: Add an unlock function for PG_private_2/PG_fscache

From: David Howells <dhowells@redhat.com>
Date: 2021-03-17 10:54:49
Also in: ceph-devel, linux-fsdevel, linux-mm, linux-nfs, lkml

David Howells [off-list ref] wrote:
 (1) For the old fscache code that I'm trying to phase out, it does not take a
     ref when PG_fscache is taken (probably incorrectly), relying instead on
     releasepage, etc. getting called to strip the PG_fscache bit.  PG_fscache
     is held for the lifetime of the page, indicating that fscache knows about
     it and might access it at any time (to write to the cache in the
     background for example or to move pages around in the cache).

     Here PG_fscache should not prevent page eviction or migration and it's
     analogous to PG_private.

     That said, the old fscache code keeps its own radix trees of pages that
     are undergoing write to the cache, so to allow a page to be evicted,
     releasepage and co. have to consult those
     (__fscache_maybe_release_page()).
Note that, ideally, we'll be able to remove the old fscache I/O code in the
next merge window or the one after.

David
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help