public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Josef Bacik <josef@toxicpanda.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: Qu Wenruo <quwenruo.btrfs@gmx.com>,
	Li Zetao <lizetao1@huawei.com>,
	clm@fb.com, dsterba@suse.com, terrelln@fb.com,
	linux-btrfs@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net
Subject: Re: [PATCH 02/14] btrfs: convert get_next_extent_buffer() to take a folio
Date: Fri, 23 Aug 2024 11:17:34 -0400	[thread overview]
Message-ID: <20240823151734.GB2234629@perftesting> (raw)
In-Reply-To: <ZscqGAMm1tofHSSG@casper.infradead.org>

On Thu, Aug 22, 2024 at 01:07:52PM +0100, Matthew Wilcox wrote:
> On Thu, Aug 22, 2024 at 08:28:09PM +0930, Qu Wenruo wrote:
> > 在 2024/8/22 12:35, Matthew Wilcox 写道:
> > > > -	while (cur < page_start + PAGE_SIZE) {
> > > > +	while (cur < folio_start + PAGE_SIZE) {
> > > 
> > > Presumably we want to support large folios in btrfs at some point?
> > 
> > Yes, and we're already working towards that direction.
> > 
> > > I certainly want to remove CONFIG_READ_ONLY_THP_FOR_FS soon and that'll
> > > be a bit of a regression for btrfs if it doesn't have large folio
> > > support.  So shouldn't we also s/PAGE_SIZE/folio_size(folio)/ ?
> > 
> > AFAIK we're only going to support larger folios to support larger than
> > PAGE_SIZE sector size so far.
> 
> Why do you not want the performance gains from using larger folios?
> 
> > So every folio is still in a fixed size (sector size, >= PAGE_SIZE).
> > 
> > Not familiar with transparent huge page, I thought transparent huge page
> > is transparent to fs.
> > 
> > Or do we need some special handling?
> > My uneducated guess is, we will get a larger folio passed to readpage
> > call back directly?
> 
> Why do you choose to remain uneducated?  It's not like I've been keeping
> all of this to myself for the past five years.  I've given dozens of
> presentations on it, including plenary sessions at LSFMM.  As a filesystem
> developer, you must want to not know about it at this point.
> 

Or, a more charitable read, is that this particular developer has never been to
LSFMMBPF/Plumbers/anywhere you've given a talk.

This stuff is complicated, I don't even know what's going on half the time, much
less a developer who exclusively works on btrfs internals.

There's a lot of things to know in this space, we can't all know what's going on
in every corner.

As for the topic at hand, I'm moving us in the direction of an iomap conversion
so we can have the large folio support, regardless of the underlying
sectorsize/metadata block size.  Unfortunately there's a lot of fundamental
changes that need to be made to facilitate that, and those are going to take
some time to test and validate to make sure we didn't break anything.  In the
meantime we're going to be in this weird limbo states while I tackle the
individual problem areas.

My priorities are split between getting this to work and fuse improvements to
eventually no longer need to have file systems in the kernel to avoid all this
in general, so it's going to be spurty, but I hope to have this work done by the
next LSFMMBPF.  Thanks,

Josef

  parent reply	other threads:[~2024-08-23 15:17 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-22  1:37 [PATCH -next 00/14] btrfs: Cleaned up folio->page conversion Li Zetao
2024-08-22  1:37 ` [PATCH 01/14] btrfs: convert clear_page_extent_mapped() to take a folio Li Zetao
2024-08-22  3:02   ` Matthew Wilcox
2024-08-22  1:37 ` [PATCH 02/14] btrfs: convert get_next_extent_buffer() " Li Zetao
2024-08-22  3:05   ` Matthew Wilcox
2024-08-22 10:58     ` Qu Wenruo
2024-08-22 12:07       ` Matthew Wilcox
2024-08-22 22:25         ` Qu Wenruo
2024-08-23  2:13           ` Qu Wenruo
2024-08-23 15:38             ` Matthew Wilcox
2024-08-23 21:32               ` Qu Wenruo
2024-08-26 14:13               ` [f2fs-dev] " Josef Bacik
2024-08-26 16:56                 ` Matthew Wilcox
2024-08-26 21:32                   ` Josef Bacik
2024-08-23 15:17         ` Josef Bacik [this message]
2024-08-22 11:01     ` Qu Wenruo
2024-08-22  1:37 ` [PATCH 03/14] btrfs: convert try_release_subpage_extent_buffer() " Li Zetao
2024-08-22  1:37 ` [PATCH 04/14] btrfs: convert try_release_extent_buffer() " Li Zetao
2024-08-22  1:37 ` [PATCH 05/14] btrfs: convert read_key_bytes() " Li Zetao
2024-08-22  3:28   ` Matthew Wilcox
2024-08-22  1:37 ` [PATCH 06/14] btrfs: convert submit_eb_subpage() " Li Zetao
2024-08-22  1:37 ` [PATCH 07/14] btrfs: convert submit_eb_page() " Li Zetao
2024-08-22  1:37 ` [PATCH 08/14] btrfs: convert try_release_extent_state() " Li Zetao
2024-08-22  1:37 ` [PATCH 09/14] btrfs: convert try_release_extent_mapping() " Li Zetao
2024-08-22  1:37 ` [PATCH 10/14] btrfs: convert zlib_decompress() " Li Zetao
2024-08-22  1:37 ` [PATCH 11/14] btrfs: convert lzo_decompress() " Li Zetao
2024-08-22  1:37 ` [PATCH 12/14] btrfs: convert zstd_decompress() " Li Zetao
2024-08-22  1:37 ` [PATCH 13/14] btrfs: convert btrfs_decompress() " Li Zetao
2024-08-22  1:37 ` [PATCH 14/14] btrfs: convert copy_inline_to_page() to use folio Li Zetao
2024-08-23 19:50 ` [PATCH -next 00/14] btrfs: Cleaned up folio->page conversion Josef Bacik
2024-08-23 21:15   ` [f2fs-dev] " Josef Bacik
2024-08-26 14:08     ` Josef Bacik
2024-08-28 13:08       ` Li Zetao
2024-09-25  3:41 ` patchwork-bot+f2fs

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240823151734.GB2234629@perftesting \
    --to=josef@toxicpanda.com \
    --cc=clm@fb.com \
    --cc=dsterba@suse.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    --cc=lizetao1@huawei.com \
    --cc=quwenruo.btrfs@gmx.com \
    --cc=terrelln@fb.com \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox