for how to capture such logging data. For blktrace replay,
the file needs to be turned into a blkparse binary data
file first (blkparse <device> -o /dev/null -d file_for_fio.bin).
+
+replay_no_stall=int When replaying I/O with read_iolog the default behavior
+ is to attempt to respect the time stamps within the log and replay
+ them with the appropriate delay between IOPS. By setting this variable
+ fio will not respect the timestamps and attempt to replay them as fast
+ as possible while still respecting ordering. The result is the same
+ I/O pattern to a given device, but different timings.
write_bw_log=str If given, write a bandwidth log of the jobs in this job
file. Can be used to store data of the bandwidth of the
delay = t.time - ttime;
if ((t.action & BLK_TC_ACT(BLK_TC_WRITE)) && read_only)
skipped_writes++;
- else
+ else {
+ /*
+ * set delay to zero if no_stall enabled for
+ * fast replay
+ */
+ if (td->o.no_stall)
+ delay = 0;
+
handle_trace(td, &t, delay, ios, rw_bs);
+ }
ttime = t.time;
cpu = t.cpu;
Replay the I/O patterns contained in the specified file generated by
\fBwrite_iolog\fR, or may be a \fBblktrace\fR binary file.
.TP
+.BI replay_no_stall \fR=\fPint
+While replaying I/O patterns using \fBread_iolog\fR the default behavior
+attempts to respect timing information between I/Os. Enabling
+\fBreplay_no_stall\fR causes I/Os to be replayed as fast as possible while
+still respecting ordering.
+.TP
.B write_bw_log \fR=\fPstr
If given, write a bandwidth log of the jobs in this job file. Can be used to
store data of the bandwidth of the jobs in their lifetime. The included
graphs. See \fBwrite_log_log\fR for behaviour of given filename. For this
option, the postfix is _bw.log.
.TP
-.B write_lat_log
+.B write_lat_log \fR=\fPstr
Same as \fBwrite_bw_log\fR, but writes I/O completion latencies. If no
filename is given with this option, the default filename of "jobname_type.log"
is used. Even if the filename is given, fio will still append the type of log.
unsigned int gtod_cpu;
unsigned int gtod_offload;
enum fio_cs clocksource;
+ unsigned int no_stall;
char *read_iolog_file;
char *write_iolog_file;
.off1 = td_var_offset(read_iolog_file),
.help = "Playback IO pattern from file",
},
+ {
+ .name = "replay_no_stall",
+ .type = FIO_OPT_INT,
+ .off1 = td_var_offset(no_stall),
+ .def = "0",
+ .help = "Playback IO pattern file as fast as possible without stalls",
+ },
{
.name = "exec_prerun",
.type = FIO_OPT_STR_STORE,