The `__u64 time` field of the blk_io_trace struct refers to
the time in nanoseconds, not in microseconds. It is set in
__blk_add_trace, which does the following:

    t->time = ktime_to_ns(ktime_get());

ktime_to_ns returns ktime_t in nanoseconds, not microseconds.

Signed-off-by: Souvik Banerjee <souvik1...@gmail.com>
---
 include/uapi/linux/blktrace_api.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/uapi/linux/blktrace_api.h 
b/include/uapi/linux/blktrace_api.h
index 3c50e07ee833..690621b610e5 100644
--- a/include/uapi/linux/blktrace_api.h
+++ b/include/uapi/linux/blktrace_api.h
@@ -101,7 +101,7 @@ enum blktrace_notify {
 struct blk_io_trace {
        __u32 magic;            /* MAGIC << 8 | version */
        __u32 sequence;         /* event number */
-       __u64 time;             /* in microseconds */
+       __u64 time;             /* in nanoseconds */
        __u64 sector;           /* disk offset */
        __u32 bytes;            /* transfer length */
        __u32 action;           /* what happened */
-- 
2.16.3

Reply via email to