da214ab254
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I330ca1577e5725b0e135422156328d5b165e79a3
25 lines
1004 B
Plaintext
25 lines
1004 B
Plaintext
This application measures the software overhead of I/O submission
|
|
and completion for both the SPDK NVMe driver and an AIO file handle.
|
|
It runs a random read, queue depth = 1 workload to a single device,
|
|
and captures TSC as follows:
|
|
|
|
* Submission: capture TSC before and after the I/O submission
|
|
call (SPDK or AIO).
|
|
* Completion: capture TSC before and after the I/O completion
|
|
check. Only record the TSC delta if the I/O completion check
|
|
resulted in a completed I/O. Also use heuristics in the AIO
|
|
case to account for time spent in interrupt handling outside
|
|
of the actual I/O completion check.
|
|
|
|
Usage:
|
|
|
|
To test software overhead for a 4KB I/O over a 10 second period:
|
|
|
|
SPDK: overhead -s 4096 -t 10
|
|
AIO: overhead -s 4096 -t 10 /dev/nvme0n1
|
|
|
|
Note that for the SPDK case, it will only use the first namespace
|
|
on the first controller found by SPDK. If a different namespace is
|
|
desired, attach controllers individually to the kernel NVMe driver
|
|
to ensure they will not be enumerated by SPDK.
|