[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZBxwnlKOZxHmLtdR@casper.infradead.org>
Date: Thu, 23 Mar 2023 15:30:38 +0000
From: Matthew Wilcox <willy@...radead.org>
To: "Darrick J. Wong" <djwong@...nel.org>
Cc: Ritesh Harjani <ritesh.list@...il.com>,
Theodore Tso <tytso@....edu>,
Andreas Dilger <adilger.kernel@...ger.ca>,
linux-ext4@...r.kernel.org, linux-fsdevel@...r.kernel.org
Subject: Re: [PATCH 04/31] ext4: Convert ext4_finish_bio() to use folios
On Thu, Mar 23, 2023 at 07:51:09AM -0700, Darrick J. Wong wrote:
> On Thu, Mar 23, 2023 at 03:26:43AM +0000, Matthew Wilcox wrote:
> > On Mon, Mar 06, 2023 at 02:40:55PM +0530, Ritesh Harjani wrote:
> > > "Matthew Wilcox (Oracle)" <willy@...radead.org> writes:
> > >
> > > > Prepare ext4 to support large folios in the page writeback path.
> > >
> > > Sure. I am guessing for ext4 to completely support large folio
> > > requires more work like fscrypt bounce page handling doesn't
> > > yet support folios right?
> > >
> > > Could you please give a little background on what all would be required
> > > to add large folio support in ext4 buffered I/O path?
> > > (I mean ofcourse other than saying move ext4 to iomap ;))
> > >
> > > What I was interested in was, what other components in particular for
> > > e.g. fscrypt, fsverity, ext4's xyz component needs large folio support?
> > >
> > > And how should one go about in adding this support? So can we move
> > > ext4's read path to have large folio support to get started?
> > > Have you already identified what all is missing from this path to
> > > convert it?
> >
> > Honestly, I don't know what else needs to be done beyond this patch
> > series. I can point at some stuff and say "This doesn't work", but in
> > general, you have to just enable it and see what breaks. A lot of the
> > buffer_head code is not large-folio safe right now, so that's somewhere
> > to go and look. Or maybe we "just" convert to iomap, and never bother
> > fixing the bufferhead code for large folios.
>
> Yes. Let's leave bufferheads in the legacy doo-doo-dooooo basement
> instead of wasting more time on them. Ideally we'd someday run all the
> filesystems through:
>
> bufferheads -> iomap with bufferheads -> iomap with folios -> iomap with
> large folios -> retire to somewhere cheaper than Hawaii
Places cheaper than Hawaii probably aren't as pretty as Hawaii though :-(
XFS is fine because it uses xfs_buf, but if we don't add support for
large folios to bufferheads, we can't support LBA size > PAGE_SIZE even
to read the superblock. Maybe that's fine ... only filesystems which
don't use sb_bread() get to support LBA size > PAGE_SIZE.
I really want to see a cheaper abstraction for accessing the block device
than BHs. Or xfs_buf for that matter.
Powered by blists - more mailing lists