X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=blktrace.c;h=71ac412ba5e0c3f451967f61dd5405246b957f21;hp=4b791d7eb3f1f0b9b23432840ffcb48ef252ed16;hb=cb3b68068d4688c4ac9f6d1bf169010f0ce8fab3;hpb=6e8136d10c903b9aab0f9159077890a68ee46dd9 diff --git a/blktrace.c b/blktrace.c index 4b791d7e..71ac412b 100644 --- a/blktrace.c +++ b/blktrace.c @@ -3,10 +3,8 @@ */ #include #include -#include #include #include -#include #include "flist.h" #include "fio.h" @@ -335,13 +333,19 @@ static void handle_trace(struct thread_data *td, struct blk_io_trace *t, return; if (!(t->action & BLK_TC_ACT(BLK_TC_NOTIFY))) { - if (!last_ttime || td->o.no_stall) { - last_ttime = t->time; + if (!last_ttime || td->o.no_stall) delay = 0; - } else { + else if (td->o.replay_time_scale == 100) delay = t->time - last_ttime; - last_ttime = t->time; + else { + double tmp = t->time - last_ttime; + double scale; + + scale = (double) 100.0 / (double) td->o.replay_time_scale; + tmp *= scale; + delay = tmp; } + last_ttime = t->time; } t_bytes_align(&td->o, t);