a9b174e71e
mk/nvme.libtest.mk includes mk/spdk.common.mk, but all of the Makefiles including mk/nvme.libtest.mk were also including mk/spdk.common.mk unnecessarily. So remove the spdk.common.mk include from all of the offending Makefiles. This was relatively harmless, although it would cause weird things like CFLAGS and LDFLAGS getting duplicated when building. Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ie60637db3c19a2ead097562b2adf6573dbe27472 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/455321 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> |
||
---|---|---|
.. | ||
.gitignore | ||
Makefile | ||
overhead.c | ||
README |
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.