From: Wang Yugui <wangyugui@e16-tech.com>
To: Christoph Hellwig <hch@lst.de>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: btrfs write-bandwidth performance regression of 6.5-rc4/rc3
Date: Wed, 02 Aug 2023 08:04:57 +0800 [thread overview]
Message-ID: <20230802080451.F0C2.409509F4@e16-tech.com> (raw)
In-Reply-To: <20230801155649.GA13009@lst.de>
Hi,
> On Tue, Aug 01, 2023 at 11:51:28PM +0800, Wang Yugui wrote:
> > > Can you try a git-revert of 140fb1f734736a on the latest tree (which
> > > should work cleanly) for an additional data point?
> >
> > GOOD performance when btrfs 6.5-rc4 with
> > Revert "btrfs: determine synchronous writers from bio or writeback control"
> > Revert "btrfs: submit IO synchronously for fast checksum implementations"
>
> And with only a revert of
>
> "btrfs: submit IO synchronously for fast checksum implementations"?
GOOD performance when only (Revert "btrfs: submit IO synchronously for fast
checksum implementations")
> >
> > GOOD performance when btrfs 6.5-rc4 with this fix too.
> > diff --git a/fs/btrfs/bio.c b/fs/btrfs/bio.c
> > index 1f3e06ec6924..1b7344e673db 100644
> > --- a/fs/btrfs/bio.c
> > +++ b/fs/btrfs/bio.c
> > @@ -598,7 +598,7 @@ static void run_one_async_free(struct btrfs_work *work)
> > static bool should_async_write(struct btrfs_bio *bbio)
> > {
> > /* Submit synchronously if the checksum implementation is fast. */
> > - if (test_bit(BTRFS_FS_CSUM_IMPL_FAST, &bbio->fs_info->flags))
> > + if ((bbio->bio.bi_opf & REQ_META) && test_bit(BTRFS_FS_CSUM_IMPL_FAST, &bbio->fs_info->flags))
> > return false;
>
> This disables synchronous checksum calculation entirely for data I/O.
without this fix, data I/O checksum is always synchronous?
this is a feature change of "btrfs: submit IO synchronously for fast checksum implementations"?
> Also I'm curious if you see any differents for a non-RAID0 (i.e.
> single profile) workload.
'-m single -d single' is about 10% slow that '-m raid1 -d raid0' in this test
case.
Best Regards
Wang Yugui (wangyugui@e16-tech.com)
2023/08/02
next prev parent reply other threads:[~2023-08-02 0:05 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-31 7:22 btrfs write-bandwidth performance regression of 6.5-rc4/rc3 Wang Yugui
2023-08-01 2:22 ` Wang Yugui
2023-08-01 8:35 ` Christoph Hellwig
2023-08-01 8:56 ` Wang Yugui
2023-08-01 9:03 ` Christoph Hellwig
2023-08-01 9:32 ` Wang Yugui
2023-08-01 10:00 ` Christoph Hellwig
2023-08-01 13:04 ` Wang Yugui
2023-08-01 14:59 ` Christoph Hellwig
2023-08-01 15:51 ` Wang Yugui
2023-08-01 15:56 ` Christoph Hellwig
2023-08-01 15:57 ` Christoph Hellwig
2023-08-02 0:04 ` Wang Yugui [this message]
2023-08-02 9:26 ` Christoph Hellwig
2023-08-11 8:58 ` Linux regression tracking (Thorsten Leemhuis)
2023-08-11 10:31 ` Christoph Hellwig
2023-08-11 14:23 ` Wang Yugui
2023-08-11 14:52 ` Chris Mason
2023-08-13 9:50 ` Wang Yugui
2023-08-29 9:45 ` Linux regression tracking (Thorsten Leemhuis)
2023-09-11 7:02 ` Thorsten Leemhuis
2023-09-11 23:20 ` Wang Yugui
2023-09-12 7:58 ` Linux regression tracking (Thorsten Leemhuis)
2023-09-26 10:55 ` Thorsten Leemhuis
2023-09-26 17:18 ` Chris Mason
2023-09-27 11:30 ` Linux regression tracking (Thorsten Leemhuis)
2023-12-06 14:22 ` Linux regression tracking (Thorsten Leemhuis)
2023-12-13 15:57 ` Naohiro Aota
2023-08-02 8:45 ` Linux regression tracking #adding (Thorsten Leemhuis)
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=20230802080451.F0C2.409509F4@e16-tech.com \
--to=wangyugui@e16-tech.com \
--cc=hch@lst.de \
--cc=linux-btrfs@vger.kernel.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