fio seqread benchmark, 100% cpu usage

From: Christian Braun <hidden>
Date: 2021-02-07 19:30:13

Hi,

i am benchmarking a new setup with fio to use with btrfs. When doing a
seqread test the system cpu usage is at 100% and read performance is
degraded. There are 8 "kworker/u64:0+btrfs-endio" (the machine has 8
cores) using all the cpu resources. That does not seem right.

With seqwrite this does not happen. With seqwrite cpu usage is at 20%
and write performance is great and equal to ext4

btrfs:
   READ: bw=3840MiB/s (4026MB/s), 3840MiB/s-3840MiB/s
(4026MB/s-4026MB/s), io=160GiB (172GB), run=42671-42671msec
  WRITE: bw=4716MiB/s (4945MB/s), 4716MiB/s-4716MiB/s
(4945MB/s-4945MB/s), io=640GiB (687GB), run=138963-138963msec

ext4:
   READ: bw=6442MiB/s (6754MB/s), 6442MiB/s-6442MiB/s
(6754MB/s-6754MB/s), io=160GiB (172GB), run=25435-25435msec
  WRITE: bw=5025MiB/s (5269MB/s), 5025MiB/s-5025MiB/s
(5269MB/s-5269MB/s), io=640GiB (687GB), run=130419-130419msec


The benchmarking is done on a md raid0 device of 4 nvme drives. The
setup is using defaults:

mdadm --create --verbose --level=0 --raid-devices=4 /dev/md/pex
/dev/nvme1n1p1 /dev/nvme2n1p1 /dev/nvme3n1p1 /dev/nvme4n1p1
mkfs.btrfs -s 4096 /dev/md/pex
mount -o discard,noatime /dev/md/pex /media/test

Linux x 5.10.13-arch1-2 #1 SMP PREEMPT Sun, 07 Feb 2021 10:19:03 +0000
x86_64 GNU/Linux
btrfs-progs v5.10

More details are in the attached log.


I expected for btrfs seqread to perform equal to the ext4 seqread.
Especially since it does with seqwrite.

Are there settings i missed or did wrong?

Thank you for reading,
Christian

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help