summaryrefslogtreecommitdiffstats
path: root/block/blk-iolatency.c
diff options
context:
space:
mode:
authorJosef Bacik <jbacik@fb.com>2018-07-16 12:12:23 -0400
committerJens Axboe <axboe@kernel.dk>2018-07-16 10:15:19 -0600
commit71e9690b59e7349156025a514c29c29ef55b0175 (patch)
tree32bddd6d701c20793b1540e193bdaf285377f0ff /block/blk-iolatency.c
parentd607eefa3b55c7b8cd9902e9209fc1235f88ccd9 (diff)
downloadlinux-stable-71e9690b59e7349156025a514c29c29ef55b0175.tar.gz
linux-stable-71e9690b59e7349156025a514c29c29ef55b0175.tar.bz2
linux-stable-71e9690b59e7349156025a514c29c29ef55b0175.zip
blk-iolatency: truncate our current time
In our longer tests we noticed that some boxes would degrade to the point of uselessness. This is because we truncate the current time when saving it in our bio, but I was using the raw current time to subtract from. So once the box had been up a certain amount of time it would appear as if our IO's were taking several years to complete. Fix this by truncating the current time so it matches the issue time. Verified this worked by running with this patch for a week on our test tier. Signed-off-by: Josef Bacik <jbacik@fb.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-iolatency.c')
-rw-r--r--block/blk-iolatency.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/block/blk-iolatency.c b/block/blk-iolatency.c
index 893f888eebb1..bb59b2929e0d 100644
--- a/block/blk-iolatency.c
+++ b/block/blk-iolatency.c
@@ -425,6 +425,12 @@ static void iolatency_record_time(struct iolatency_grp *iolat,
u64 start = bio_issue_time(issue);
u64 req_time;
+ /*
+ * Have to do this so we are truncated to the correct time that our
+ * issue is truncated to.
+ */
+ now = __bio_issue_time(now);
+
if (now <= start)
return;