From: Jens Axboe Date: Wed, 23 Jan 2013 15:40:11 +0000 (-0700) Subject: eta: improve accuracy for rwmix workloads and verify X-Git-Tag: fio-2.0.14~105 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=165eb0501f8432e6edecabd6286dc124c8190419 eta: improve accuracy for rwmix workloads and verify We assume 50/50 for mixed workloads. That's silly, use the actual number specified instead. Signed-off-by: Jens Axboe --- diff --git a/eta.c b/eta.c index 1f67301a..fdf55c5a 100644 --- a/eta.c +++ b/eta.c @@ -140,13 +140,19 @@ static int thread_eta(struct thread_data *td) } /* - * if writing, bytes_total will be twice the size. If mixing, - * assume a 50/50 split and thus bytes_total will be 50% larger. + * if writing and verifying afterwards, bytes_total will be twice the + * size. In a mixed workload, verify phase will be the size of the + * first stage writes. */ if (td->o.do_verify && td->o.verify && td_write(td)) { - if (td_rw(td)) - bytes_total = bytes_total * 3 / 2; - else + if (td_rw(td)) { + unsigned int perc = 50; + + if (td->o.rwmix[DDIR_WRITE]) + perc = td->o.rwmix[DDIR_WRITE]; + + bytes_total += (bytes_total * perc) / 100; + } else bytes_total <<= 1; }