numam-spdk/examples/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
..
arbitration include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
fio_plugin nvme/fio_plugin: remove dead store 2017-05-11 16:03:51 -07:00
hello_world include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
hotplug include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
identify example/identify: add new parameters under multi-process scenario 2017-05-10 11:13:13 -07:00
nvme_manage include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
perf nvme/perf: add software-based latency tracking 2017-05-17 09:49:27 -07:00
reserve include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
Makefile example: Add example for nvme hotplug. 2016-12-01 10:23:10 +08:00