From: Filipe Manana <fdmanana@kernel.org>
To: dsterba@suse.cz, Qu Wenruo <wqu@suse.com>,
Qu Wenruo <quwenruo.btrfs@gmx.com>,
linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: [PATCH RFC 0/2] btrfs: remove the metadata readahead mechanism
Date: Thu, 9 Dec 2021 10:25:08 +0000 [thread overview]
Message-ID: <YbHZhGGpBvqoqfiT@debian9.Home> (raw)
In-Reply-To: <20211208140411.GK28560@twin.jikos.cz>
On Wed, Dec 08, 2021 at 03:04:11PM +0100, David Sterba wrote:
> On Tue, Dec 07, 2021 at 03:53:22PM +0000, Filipe Manana wrote:
> > > > I'm doing some tests, in a VM on a dedicated HDD.
> > >
> > > There's some measurable difference:
> > >
> > > With readahead:
> > >
> > > Duration: 0:00:20
> > > Total to scrub: 7.02GiB
> > > Rate: 236.92MiB/s
> > >
> > > Duration: 0:00:48
> > > Total to scrub: 12.02GiB
> > > Rate: 198.02MiB/s
> > >
> > > Without readahead:
> > >
> > > Duration: 0:00:22
> > > Total to scrub: 7.02GiB
> > > Rate: 215.10MiB/s
> > >
> > > Duration: 0:00:50
> > > Total to scrub: 12.02GiB
> > > Rate: 190.66MiB/s
> > >
> > > The setup is: data/single, metadata/dup, no-holes, free-space-tree,
> > > there are 8 backing devices but all reside on one HDD.
> > >
> > > Data generated by fio like
> > >
> > > fio --rw=randrw --randrepeat=1 --size=3000m \
> > > --bsrange=512b-64k --bs_unaligned \
> > > --ioengine=libaio --fsync=1024 \
> > > --name=job0 --name=job1 \
> > >
> > > and scrub starts right away this. VM has 4G or memory and 4 CPUs.
> >
> > How about using bare metal? And was it a debug kernel, or a default
> > kernel config from a distro?
>
> It was the debug config I use for normal testing, I'll try to redo it on
> another physical box.
>
> > Those details often make all the difference (either for the best or
> > for the worse).
> >
> > I'm curious to see as well the results when:
> >
> > 1) The reada.c code is changed to work with commit roots;
> >
> > 2) The standard btree readahead (struct btrfs_path::reada) is used
> > instead of the reada.c code.
> >
> > >
> > > The difference is 2 seconds, roughly 4% but the sample is not large
> > > enough to be conclusive.
> >
> > A bit too small.
>
> What's worse, I did a few more rounds and the results were too unstable,
> from 44 seconds to 25 seconds (all on the removed readahead branch), but
> the machine was not quiescent.
I get such huge variations too when using a debug kernel and virtualized
disks for any tests, even for single threaded tests.
That's why I use a default, non-debug, kernel config from a popular distro
and without any virtualization (or at least have qemu use a raw device, not
a file backed disk on top of another filesystem) when measuring performance.
next prev parent reply other threads:[~2021-12-09 10:25 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-07 7:43 [PATCH RFC 0/2] btrfs: remove the metadata readahead mechanism Qu Wenruo
2021-12-07 7:43 ` [PATCH RFC 1/2] btrfs: remove the unnecessary path parameter for scrub_raid56_parity() Qu Wenruo
2021-12-07 7:44 ` [PATCH RFC 2/2] btrfs: remove reada mechanism Qu Wenruo
2021-12-07 11:02 ` [PATCH RFC 0/2] btrfs: remove the metadata readahead mechanism Filipe Manana
2021-12-07 11:43 ` Qu Wenruo
2021-12-07 11:56 ` Filipe Manana
2021-12-07 12:01 ` Qu Wenruo
2021-12-07 14:53 ` David Sterba
2021-12-07 15:40 ` David Sterba
2021-12-07 15:53 ` Filipe Manana
2021-12-08 0:08 ` Qu Wenruo
2021-12-08 14:04 ` David Sterba
2021-12-09 10:25 ` Filipe Manana [this message]
2021-12-09 13:25 ` Qu Wenruo
2021-12-09 14:33 ` Josef Bacik
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=YbHZhGGpBvqoqfiT@debian9.Home \
--to=fdmanana@kernel.org \
--cc=dsterba@suse.cz \
--cc=linux-btrfs@vger.kernel.org \
--cc=quwenruo.btrfs@gmx.com \
--cc=wqu@suse.com \
/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