Spdk/test/lib/nvme
Jim Harris 8de75f8107 nvme/perf: add software-based latency tracking
The latency tracking is done with ranges of bucket arrays.
The bucket for any given I/O is determined solely by TSC
deltas - any translation to microseconds is only done after
the test is finished and statistics are printed.

Each range has a number of buckets determined by a
NUM_BUCKETS_PER_RANGE value which is currently set to 128.
The buckets in ranges 0 and 1 each map to one specific TSC
delta.  The buckets in subsequent ranges each map to twice
as many TSC deltas as buckets in the previous range:

Range 0:  1 TSC each - 128 buckets cover deltas    0 to  127
Range 1:  1 TSC each - 128 buckets cover deltas  128 to  255
Range 2:  2 TSC each - 128 buckets cover deltas  256 to  511
Range 3:  4 TSC each - 128 buckets cover deltas  512 to 1023
Range 4:  8 TSC each - 128 buckets cover deltas 1024 to 2047
Range 5: 16 TSC each - 128 buckets cover deltas 2048 to 4095
etc.

While here, change some variable names and usage
messages to differentiate between the existing latency
tracking via vendor-specific NVMe log pages on Intel
NVMe SSDs, and the newly added latency tracking done
in software.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I299f1c1f6dbfa7ea0e73085f7a685e71fc687a2b
2017-05-17 09:49:27 -07:00
..
aer include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
e2edp include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
overhead include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
reset include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
sgl include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
unit nvme: detach the pci device with calling process's own devhandle 2017-05-16 10:35:29 -07:00
hotplug.sh test/nvme/hotplug: disable SSH host key checking 2017-05-10 09:18:42 -07:00
Makefile nvme: add new test application to measure SW overhead 2016-08-01 12:58:30 -07:00
nvme.sh nvme/perf: add software-based latency tracking 2017-05-17 09:49:27 -07:00
nvmemp.sh nvme: detach the pci device with calling process's own devhandle 2017-05-16 10:35:29 -07:00