Spdk/test
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
..
blobfs/rocksdb test/blobfs/rocksdb: clean before building 2017-05-02 16:49:50 -07:00
cpp_headers test/cpp_headers: autogenerate header test files 2016-10-03 10:24:18 -07:00
iscsi_tgt test/iscsi_tgt/nvme_remote: kill both processess on failure 2017-04-28 15:06:27 -07:00
lib nvme/perf: add software-based latency tracking 2017-05-17 09:49:27 -07:00
nvmf bdev: add a null bdev module 2017-05-15 14:00:37 -07:00
vhost vhost/test: SIGKILL vhost after unsuccessful SIGINT 2017-05-11 01:27:31 -07:00
Makefile test: validate that all headers compile as C++ 2016-09-21 15:27:08 -07:00
spdk_cunit.h include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00