stat: add blocksize to averaged log, if it's consistent
authorJens Axboe <axboe@fb.com>
Mon, 16 May 2016 16:53:44 +0000 (10:53 -0600)
committerJens Axboe <axboe@fb.com>
Mon, 16 May 2016 16:53:44 +0000 (10:53 -0600)
If we average over time, fio doesn't add the blocksize used. The
reasoning behind that is that if we're using multiple block sizes,
there's no right answer. But if we are not, we can add the blocksize
that was used.

Signed-off-by: Jens Axboe <axboe@fb.com>
stat.c

diff --git a/stat.c b/stat.c
index 95f206e049960c986ff78e683f4da05193d51f3c..4d87c29a6fe19afbf9661c84c1adb555e48f2b2b 100644 (file)
--- a/stat.c
+++ b/stat.c
@@ -2169,8 +2169,14 @@ static int add_bw_samples(struct thread_data *td, struct timeval *t)
 
                add_stat_sample(&ts->bw_stat[ddir], rate);
 
 
                add_stat_sample(&ts->bw_stat[ddir], rate);
 
-               if (td->bw_log)
-                       add_log_sample(td, td->bw_log, rate, ddir, 0, 0);
+               if (td->bw_log) {
+                       unsigned int bs = 0;
+
+                       if (td->o.min_bs[ddir] == td->o.max_bs[ddir])
+                               bs = td->o.min_bs[ddir];
+
+                       add_log_sample(td, td->bw_log, rate, ddir, bs, 0);
+               }
 
                td->stat_io_bytes[ddir] = td->this_io_bytes[ddir];
        }
 
                td->stat_io_bytes[ddir] = td->this_io_bytes[ddir];
        }
@@ -2234,8 +2240,14 @@ static int add_iops_samples(struct thread_data *td, struct timeval *t)
 
                add_stat_sample(&ts->iops_stat[ddir], iops);
 
 
                add_stat_sample(&ts->iops_stat[ddir], iops);
 
-               if (td->iops_log)
-                       add_log_sample(td, td->iops_log, iops, ddir, 0, 0);
+               if (td->iops_log) {
+                       unsigned int bs = 0;
+
+                       if (td->o.min_bs[ddir] == td->o.max_bs[ddir])
+                               bs = td->o.min_bs[ddir];
+
+                       add_log_sample(td, td->iops_log, iops, ddir, bs, 0);
+               }
 
                td->stat_io_blocks[ddir] = td->this_io_blocks[ddir];
        }
 
                td->stat_io_blocks[ddir] = td->this_io_blocks[ddir];
        }