From: Keith Busch <kbusch@meta.com>
To: <fio@vger.kernel.org>
Cc: <axboe@kernel.dk>, <vincentfu@gmail.com>,
Keith Busch <kbusch@kernel.org>
Subject: [PATCH 0/3] fio: fix eta
Date: Thu, 3 Sep 2026 10:20:58 -0700 [thread overview]
Message-ID: <20260903172101.1886315-1-kbusch@meta.com> (raw)
From: Keith Busch <kbusch@kernel.org>
When jobs are overlapping or serialized by the stonewall, the eta
calculation messes up by restarting back to the original calculated
time. Here's a simple example of running multiple 5 second jobs with the
stonewall to serialize them:
$ fio --eta-newline=1 --name=global --ioengine=io_uring --rw=randread \
--filename=/dev/zero --time_based --runtime=5 --size=10T --stonewall \
--name=a --name=b --name=c --name=d --name=e
...
Jobs: 1 (f=1): [r(1),P(4)][15.4%][r=837MiB/s][r=214k IOPS][eta 00m:22s]
Jobs: 1 (f=1): [r(1),P(4)][19.2%][r=737MiB/s][r=189k IOPS][eta 00m:21s]
Jobs: 1 (f=1): [_(1),r(1),P(3)][25.0%][r=1569MiB/s][r=402k IOPS][eta 00m:24s]
Jobs: 1 (f=1): [_(1),r(1),P(3)][31.2%][r=2045MiB/s][r=523k IOPS][eta 00m:22s]
Jobs: 1 (f=1): [_(1),r(1),P(3)][37.5%][r=1722MiB/s][r=441k IOPS][eta 00m:20s]
Jobs: 1 (f=1): [_(2),r(1),P(2)][35.1%][r=374MiB/s][r=95.6k IOPS][eta 00m:24s]
Jobs: 1 (f=1): [_(2),r(1),P(2)][40.5%][r=2193MiB/s][r=561k IOPS][eta 00m:22s]
Literally unplayable! ;)
This series gets the eta reporting the correct value.
Keith Busch (3):
eta: don't estimate runtime from an unset job epoch
eta: cap the ETA at the job's own remaining runtime
eta: remove now unused done_secs
backend.c | 2 --
eta.c | 39 +++++++++++++++++++++++++++++----------
fio.h | 1 -
libfio.c | 1 -
4 files changed, 29 insertions(+), 14 deletions(-)
--
2.52.0
next reply other threads:[~2026-09-03 17:21 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-03 17:20 Keith Busch [this message]
2026-09-03 17:20 ` [PATCH 1/3] eta: don't estimate runtime from an unset job epoch Keith Busch
2026-09-09 17:01 ` Vincent Fu
2026-09-09 20:15 ` Keith Busch
2026-09-03 17:21 ` [PATCH 2/3] eta: cap the ETA at the job's own remaining runtime Keith Busch
2026-09-03 17:21 ` [PATCH 3/3] eta: remove now unused done_secs Keith Busch
2026-09-03 20:01 ` [PATCH 0/3] fio: fix eta fiotestbot
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=20260903172101.1886315-1-kbusch@meta.com \
--to=kbusch@meta.com \
--cc=axboe@kernel.dk \
--cc=fio@vger.kernel.org \
--cc=kbusch@kernel.org \
--cc=vincentfu@gmail.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.