[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YGeJ1hBP3lEMOSA2@moria.home.lan>
Date: Fri, 2 Apr 2021 17:17:10 -0400
From: Kent Overstreet <kent.overstreet@...il.com>
To: Christoph Hellwig <hch@...radead.org>
Cc: Jan Kara <jack@...e.cz>, linux-fsdevel@...r.kernel.org,
Matthew Wilcox <willy@...radead.org>,
linux-ext4@...r.kernel.org
Subject: Re: [PATCH 2/3] mm: Provide address_space operation for filling
pages for read
On Wed, Jan 20, 2021 at 04:20:01PM +0000, Christoph Hellwig wrote:
> On Wed, Jan 20, 2021 at 05:06:10PM +0100, Jan Kara wrote:
> > Provide an address_space operation for filling pages needed for read
> > into page cache. Filesystems can use this operation to seriealize
> > page cache filling with e.g. hole punching properly.
>
> Besides the impending rewrite of the area - having another indirection
> here is just horrible for performance. If we want locking in this area
> it should be in core code and common for multiple file systems.
Agreed.
But, instead of using a rwsemaphore, why not just make it a lock with two shared
states that are exclusive with each other? One state for things that add pages
to the page cache, the other state for things that want to prevent that. That
way, DIO can use it too...
(this is what bcachefs does)
Powered by blists - more mailing lists