[PATCH v2 0/9] introduce the log_issue_time option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When write_lat_log option is set, fio outputs the 'clat' completion
latency log file. This clat log can be used to analyze IO latency. This
file can also be considered as an IO trace file as each IO entry can
fully describe an IO when the --log_offset and --log_prio options are
also used. However, using the clat log file as an IO trace is inaccurate
because the time field of each entry uses millisecond units, which is
too coarse for fast IOs (e.g. when using SSDs). Also, the time field
value is recorded not at command completion, but at log sample
recording. The time field value is slightly different from the IO
completion time.

This series proposes the new option 'log_issue_time' to address the
inaccuracy problem. When this option is set, fio adds another field to
the log file entries to log an IO issuing time in nanoseconds.

The first four patches in the series clean up the current code as
preparation. The 5th patch introduces the 'log_issue_time' option. The
following two patches document the new option. The last two patches add
two test cases to check the log file format.

Changes from v1:
* 1st: Described add_*lat_sample() arguments in the commit message
* 5th: Incremented FIO_SERVER_VER and fixed typos
* 8th,9th: Added test requirements and extended job runtime/log_avg_msec

Shin'ichiro Kawasaki (9):
  stat: reduce arguments of add_*lat_sample() functions
  stat: reduce arguments of add_log_sample()
  iolog: refactor flush_samples()
  iolog: drop struct io_sample_offset
  introduce the log_issue_time option
  doc: fix the descriptions of the log_prio option
  doc: describe the log_issue_time option
  t/jobs/t0033: add test for the log file format
  t/jobs/t0034: add test for the log_issue_time option

 HOWTO.rst                |  40 ++++++++--
 cconv.c                  |   2 +
 client.c                 |  36 +++++----
 engines/fileoperations.c |   6 +-
 fio.1                    |  26 +++++--
 init.c                   |  12 +++
 io_u.c                   |  14 +---
 iolog.c                  | 154 ++++++++++++++++++++------------------
 iolog.h                  |  47 +++++++++---
 options.c                |  10 +++
 server.c                 |  10 ++-
 server.h                 |   3 +-
 stat.c                   | 155 ++++++++++++++++++++++++---------------
 stat.h                   |  13 ++--
 t/jobs/t0033.fio         |  28 +++++++
 t/jobs/t0034.fio         |  27 +++++++
 t/run-fio-tests.py       |  66 +++++++++++++++++
 thread_options.h         |   2 +
 18 files changed, 458 insertions(+), 193 deletions(-)
 create mode 100644 t/jobs/t0033.fio
 create mode 100644 t/jobs/t0034.fio

-- 
2.45.2





[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux