]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | This application measures the software overhead of I/O submission |
2 | and completion for both the SPDK NVMe driver and an AIO file handle. | |
3 | It runs a random read, queue depth = 1 workload to a single device, | |
4 | and captures TSC as follows: | |
5 | ||
6 | * Submission: capture TSC before and after the I/O submission | |
7 | call (SPDK or AIO). | |
8 | * Completion: capture TSC before and after the I/O completion | |
9 | check. Only record the TSC delta if the I/O completion check | |
10 | resulted in a completed I/O. Also use heuristics in the AIO | |
11 | case to account for time spent in interrupt handling outside | |
12 | of the actual I/O completion check. | |
13 | ||
14 | Usage: | |
15 | ||
16 | To test software overhead for a 4KB I/O over a 10 second period: | |
17 | ||
18 | SPDK: overhead -s 4096 -t 10 | |
19 | AIO: overhead -s 4096 -t 10 /dev/nvme0n1 | |
20 | ||
21 | Note that for the SPDK case, it will only use the first namespace | |
22 | on the first controller found by SPDK. If a different namespace is | |
23 | desired, attach controllers individually to the kernel NVMe driver | |
24 | to ensure they will not be enumerated by SPDK. |