log: fix averaged latency logging
authorJens Axboe <axboe@fb.com>
Fri, 22 Jul 2016 19:19:31 +0000 (13:19 -0600)
committerJens Axboe <axboe@fb.com>
Fri, 22 Jul 2016 19:19:31 +0000 (13:19 -0600)
We inadvertently broke that in the previous commit, fix it up.

Fixes: d454a205f81e ("log: fix missing entries")
Signed-off-by: Jens Axboe <axboe@fb.com>
iolog.h
stat.c

diff --git a/iolog.h b/iolog.h
index a58e3f09376b843775f57428c8023c1fe31cb3e9..0438fa7b2993b5b44d170da03fb75ce7dc2d8a5d 100644 (file)
--- a/iolog.h
+++ b/iolog.h
@@ -230,6 +230,13 @@ static inline bool per_unit_log(struct io_log *log)
        return log && !log->avg_msec;
 }
 
+static inline bool inline_log(struct io_log *log)
+{
+       return log->log_type == IO_LOG_TYPE_LAT ||
+               log->log_type == IO_LOG_TYPE_CLAT ||
+               log->log_type == IO_LOG_TYPE_SLAT;
+}
+
 extern void finalize_logs(struct thread_data *td, bool);
 extern void setup_log(struct io_log **, struct log_params *, const char *);
 extern void flush_log(struct io_log *, bool);
diff --git a/stat.c b/stat.c
index 9171e9b7fc1a6b43713ca7712b61ab154940633d..7a35117a6f1998faae15cae2c1e3b660205470b7 100644 (file)
--- a/stat.c
+++ b/stat.c
@@ -2142,7 +2142,7 @@ static long add_log_sample(struct thread_data *td, struct io_log *iolog,
        if (this_window < iolog->avg_msec) {
                int diff = iolog->avg_msec - this_window;
 
-               if (diff > LOG_MSEC_SLACK)
+               if (inline_log(iolog) || diff > LOG_MSEC_SLACK)
                        return diff;
        }