From 165eb0501f8432e6edecabd6286dc124c8190419 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Wed, 23 Jan 2013 08:40:11 -0700 Subject: [PATCH] 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 --- eta.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) 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; } -- 2.25.1