numam-spdk/include/spdk
Jim Harris bc00666271 util: enable dynamic spdk_histogram_data sizing
Currently, each histogram range is hardcoded to
128 buckets (1ULL << 7), resulting in 58 ranges
(64 - 7 + 1) and a total size of 58 * 128 *
sizeof(uint64_t) = 59392 bytes.

To allow for more usage models in cases where this
size is prohibitive, enable the following changes:

1) specify number of buckets per range (in number of bits)
2) specify max datapoint value (in number of bits)

The latter can be useful for cases where datapoints
are never close to requiring all 64 bits - and allows
reducing the number of ranges.  Any data points that
exceed the max will be tallied in the last bucket
in the last range.

Testing shows no performance disadvantage using the
dynamic approach.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I5979bcdff6209faaa9dee293918ef2a78679bcd4

Reviewed-on: https://review.gerrithub.io/392707
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-12-29 14:20:48 -05:00
..
assert.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
barrier.h barrier: added spdk_smp_*mb to sync between cores 2017-11-29 10:51:42 -05:00
bdev.h include: wrap header files in extern "C" for c++ 2017-12-07 19:13:47 -05:00
bit_array.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
blob_bdev.h blob: add support for base bdev claim 2017-10-11 12:13:38 -04:00
blob.h blob: add spdk_bs_create_blob_ext 2017-12-19 11:55:36 -05:00
blobfs.h include: wrap header files in extern "C" for c++ 2017-12-07 19:13:47 -05:00
conf.h include: wrap header files in extern "C" for c++ 2017-12-07 19:13:47 -05:00
copy_engine.h include: wrap header files in extern "C" for c++ 2017-12-07 19:13:47 -05:00
crc16.h util/crc16: add crc16 library support and unit tests 2017-12-20 15:12:26 -05:00
crc32.h include: wrap header files in extern "C" for c++ 2017-12-07 19:13:47 -05:00
endian.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
env.h env: export spdk_env_get_last_core function. 2017-12-23 15:08:24 -05:00
event.h include: wrap header files in extern "C" for c++ 2017-12-07 19:13:47 -05:00
fd.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
gpt_spec.h bdev/gpt: dump partition name 2017-07-12 18:12:52 -04:00
histogram_data.h util: enable dynamic spdk_histogram_data sizing 2017-12-29 14:20:48 -05:00
io_channel.h channel: Make spdk_for_each_channel support async operations 2017-12-14 12:05:07 -05:00
ioat_spec.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
ioat.h copy: return 0 on success and appropriate errno on failure 2017-09-25 13:56:29 -04:00
iscsi_spec.h iscsi: fix layout of logout request reason field 2017-09-22 16:11:11 -04:00
json.h include: wrap header files in extern "C" for c++ 2017-12-07 19:13:47 -05:00
jsonrpc.h include: wrap header files in extern "C" for c++ 2017-12-07 19:13:47 -05:00
likely.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
log.h include: wrap header files in extern "C" for c++ 2017-12-07 19:13:47 -05:00
lvol.h include: wrap header files in extern "C" for c++ 2017-12-07 19:13:47 -05:00
mmio.h mmio: add functions for 1 and 2 byte I/O accesses 2017-10-13 10:46:00 -04:00
nbd.h include: wrap header files in extern "C" for c++ 2017-12-07 19:13:47 -05:00
net.h include: wrap header files in extern "C" for c++ 2017-12-07 19:13:47 -05:00
nvme_intel.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
nvme_spec.h nvme_spec: add NVMe 1.3 Virtualization structures. 2017-11-10 12:49:18 -05:00
nvme.h nvme: add new spdk_nvme_connect() API to directly attach the ctrlr 2017-10-09 12:31:12 -04:00
nvmf_spec.h nvmf: Reject RDMA connections with correct error codes 2017-12-06 17:54:10 -05:00
nvmf.h nvmf: Add public interface of remove ns from subsystem. 2017-12-15 16:14:02 -05:00
pci_ids.h env: add pci_virtio.c 2017-09-26 14:28:24 -04:00
queue_extras.h Break out queue.h code pulled from FreeBSD into a separate file. 2015-09-25 12:45:04 -07:00
queue.h Add extern "C" wrapper to all public headers 2016-02-12 07:52:35 -07:00
rpc.h include: wrap header files in extern "C" for c++ 2017-12-07 19:13:47 -05:00
scsi_spec.h bdev-virtio: add test unit ready and start/stop to scan sequence 2017-12-04 14:39:27 -05:00
scsi.h scsi: remove spdk_scsi_dev_print() function 2017-12-12 18:04:20 -05:00
stdinc.h build: Automatically detect use of POSIX includes 2017-05-08 13:20:37 -07:00
string.h util: add a helper function for parsing capacities (1K, 128M, 2G) 2017-12-13 21:19:53 -05:00
trace.h trace: Move trace flags to separate implementation file 2017-11-15 18:57:12 -05:00
util.h util: add spdk_u32_is_pow2() function 2017-08-11 19:36:30 -04:00
version.h version: v18.01-pre 2017-10-31 18:28:21 -04:00
vhost.h vhost: Switch "Dev" keyword to "Target" 2017-12-08 09:25:49 -05:00