On 3/6/24 04:44, Thomas Weber wrote:
<snip>
Thank you. I noticed that fix as well in the fio changelog.
From the description it seems to affect only non-sequential IO.
However I saw huge throughput degradations for both rw=rw and
rw=randrw.
Do you think this is related to that bug fix too?
[smallstuff-seq-slow]
rw=rw
nrfiles=1000
openfiles=25
filesize=1k-1m
bssplit=4k/20:128k/80
rwmixread=60
[smallstuff-rand-slow]
rw=randrw
nrfiles=1000
openfiles=25
filesize=1k-1m
bssplit=4k/50:8k/25:64k/25
rwmixread=75
The patch description mentions file_service_type != sequential but makes
no comment about whether offsets are chosen randomly or sequentially. In
fact the example job in the patch description chooses offsets randomly.
I tried your smallstuff-seq-slow job and found the following:
fio-3.25+ [1]:----- 424 MiB/s read, 384 MiB/s write
fio-3.36:---------- 384 MiB/s read, 347 MiB/s write
fio-3.36-97-g9b699: 517 MiB/s read, 467 MiB/s write
[1] fio-3.25 needs 382975557e632efb506836bc1709789e615c9094 to build
with recent kernels
If you are able to reliably reproduce the problem I suggest that you run
git bisect to identify the commit responsible for the difference you
have observed.
Vincent