From: Wang Yugui <wangyugui@e16-tech.com>
To: Nikolay Borisov <nborisov@suse.com>
Cc: Filipe Manana <fdmanana@kernel.org>,
linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: [PATCH 6/6] btrfs: do not block inode logging for so long during transaction commit
Date: Fri, 05 Feb 2021 09:47:44 +0800 [thread overview]
Message-ID: <20210205094740.AB82.409509F4@e16-tech.com> (raw)
In-Reply-To: <6196ffee-e5a4-6135-b579-720859959038@suse.com>
Hi,
> On 4.02.21 г. 13:34 ч., Wang Yugui wrote:
> > Hi,
> >
> >> On 4.02.21 г. 5:17 ч., Wang Yugui wrote:
> >>> Hi,
> >>>
> >>> I tried to run btrfs misc-next(5.11-rc6 +81patches) based on linux LTS
> >>> 5.10.12 with the same other kernel components and the same kernel config.
> >>>
> >>> Better dbench(sync open) result on both Throughput and max_latency.
> >>>
> >>
> >> If i understand correctly you rebased current misc-next to 5.10.12, if
> >> so this means there is something else in the main kernel, that's not
> >> btrfs related which degrades performance, it seems you've got a 300ms
> >> win by running on 5.10 as compared on 5.11-rc6-based misc next, is that
> >> right?
> >
> > Yes.
>
> I just realized this could also be caused by btrfs code that has already
> landed in v5.11-rc1 for example. I.e the main pull req for this release.
This performance problem seems very complex.
result of btrfs 5.10.12 + these btrfs patchset + linux other kernel of 5.10.12
- 5.11 free-space-tree 13 patch
- 5.11 btrfs: some performance improvements for dbench alike workloads
- misc-next btrfs: more performance improvements for dbench workloads
- misc-next Improve preemptive ENOSPC flushing
Operation Count AvgLat MaxLat
----------------------------------------
NTCreateX 858500 0.030 2.969
Close 630548 0.002 0.071
Rename 36416 0.744 3.791
Unlink 173375 0.503 4.109
Qpathinfo 779355 0.014 2.715
Qfileinfo 136041 0.002 0.054
Qfsinfo 142728 0.004 0.084
Sfileinfo 69953 0.010 0.098
Find 301093 0.059 2.670
WriteX 424594 3.999 1765.527
ReadX 1348726 0.005 0.397
LockX 2816 0.004 0.022
UnlockX 2816 0.003 0.025
Flush 60094 0.764 1478.133
Throughput 445.83 MB/sec (sync open) 32 clients 32 procs max_latency=1765.539 ms
still worse than btrfs misc-next(20210203) + linux other kernel of 5.10.12
Operation Count AvgLat MaxLat
----------------------------------------
NTCreateX 958611 0.026 440.564
Close 703418 0.002 0.085
Rename 40599 0.518 439.825
Unlink 194095 0.282 439.792
Qpathinfo 869295 0.010 1.852
Qfileinfo 151285 0.002 0.095
Qfsinfo 159492 0.004 0.051
Sfileinfo 78078 0.010 0.104
Find 335905 0.036 3.043
WriteX 473353 3.637 713.039
ReadX 1502197 0.005 0.752
LockX 3100 0.004 0.024
UnlockX 3100 0.002 0.020
Flush 67264 0.575 363.550
Throughput 497.551 MB/sec (sync open) 32 clients 32 procs max_latency=713.045 ms
so there is some other patch in misc-next improved this performance too.
but MaxLat/AvgLat of WriteX is still 175 in
btrfs misc-next(20210203) + linux other kernel of 5.10.12,
so there maybe some patch after 5.10 cause new performance problem too.
Best Regards
Wang Yugui (wangyugui@e16-tech.com)
2021/02/04
> >
> > maybye some code rather than btrfs in main kernel 5.11.rc6 have degrades
> > performance.
> > or maybe just because of different kernel config.
> > kernel config I used:
> > https://kojipkgs.fedoraproject.org/packages/kernel/5.11.0/0.rc6.141.eln108/
> > https://kojipkgs.fedoraproject.org/packages/kernel/5.10.12/200.fc33/
> >
> > I rebased current misc-next to 5.10.12, so that there is only diff in
> > btrfs source code.
> >
> > only 3 minor patch needed for this rebase, there seems no broken kernel API
> > change for btrfs between 5.10 and 5.11.
> > # add-to-5.10 0001-block-add-a-bdev_kobj-helper.patch
> > # drop-from-btrs-misc-next 0001-block-remove-i_bdev.patch
> > # fix-to-btrfs-misc-next 0001-btrfs-bdev_nr_sectors.patch
> >
> > more patch come into misc-next today, they are yet not rebased/tested.
> >
> > Best Regards
> > Wang Yugui (wangyugui@e16-tech.com)
> > 2021/02/04
> >
next prev parent reply other threads:[~2021-02-05 1:48 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-25 12:19 [PATCH 0/6] btrfs: some performance improvements for dbench alike workloads fdmanana
2020-11-25 12:19 ` [PATCH 1/6] btrfs: fix race causing unnecessary inode logging during link and rename fdmanana
2020-11-25 12:19 ` [PATCH 2/6] btrfs: fix race that results in logging old extents during a fast fsync fdmanana
2020-11-25 12:19 ` [PATCH 3/6] btrfs: fix race that causes unnecessary logging of ancestor inodes fdmanana
2020-11-25 12:19 ` [PATCH 4/6] btrfs: fix race that makes inode logging fallback to transaction commit fdmanana
2020-11-25 12:19 ` [PATCH 5/6] btrfs: fix race leading to unnecessary transaction commit when logging inode fdmanana
2020-11-25 12:19 ` [PATCH 6/6] btrfs: do not block inode logging for so long during transaction commit fdmanana
2021-02-02 5:38 ` Wang Yugui
2021-02-02 11:28 ` Filipe Manana
2021-02-02 13:01 ` Wang Yugui
2021-02-02 14:09 ` Wang Yugui
2021-02-03 10:51 ` Filipe Manana
2021-02-03 11:03 ` Nikolay Borisov
2021-02-03 15:16 ` Wang Yugui
2021-02-04 3:17 ` Wang Yugui
2021-02-04 6:19 ` Nikolay Borisov
2021-02-04 11:34 ` Wang Yugui
2021-02-04 11:58 ` Nikolay Borisov
2021-02-05 1:47 ` Wang Yugui [this message]
2020-11-30 17:30 ` [PATCH 0/6] btrfs: some performance improvements for dbench alike workloads David Sterba
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=20210205094740.AB82.409509F4@e16-tech.com \
--to=wangyugui@e16-tech.com \
--cc=fdmanana@kernel.org \
--cc=linux-btrfs@vger.kernel.org \
--cc=nborisov@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.