8de75f8107
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 |
||
---|---|---|
.. | ||
ioat | ||
nvme | ||
Makefile |