numam-spdk/lib
Jim Harris 534d9c2002 bdev: add per-thread spdk_bdev_io cache
This mimics the per-lcore cache that the DPDK rte_mempool
implements.  But DPDK rte_mempool relies on the DPDK
lcore_ids which are not set for non-DPDK threads (such as
the fio bdev plugin).

So implement our own per-thread bdev_io cache instead.
This is quite simple since we already have a per-thread
bdev channel called spdk_bdev_mgmt_channel.

Previously, we passed 64 to spdk_mempool for the
per-core cache size.  This patch effectively changes it
to 256 and moves it from the spdk_mempool (which we now
specify with a per-core cache size of 0) to this internal
bdev cache.  We allocate 64K of these bdev_io, so putting
a few more in each thread's cache will not hurt anything.

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

Reviewed-on: https://review.gerrithub.io/392531
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2017-12-21 16:22:23 -05:00
..
bdev bdev: add per-thread spdk_bdev_io cache 2017-12-21 16:22:23 -05:00
blob blob: add used blobid bit array for valid blobids 2017-12-21 12:28:21 -05:00
blobfs blob: change spdk_bs_iter_next parameter to spdk_blob * 2017-12-15 12:28:44 -05:00
conf conf: Remove use of perror() for strdup() failure 2017-12-15 16:13:27 -05:00
copy astyle: enforce braces around single-line statements 2017-12-11 11:19:32 -05:00
cunit include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
env_dpdk env: add spdk_mempool_create_ctor 2017-12-11 14:59:12 -05:00
event event: update the poller's period_ticks calculation 2017-12-19 18:49:16 -05:00
ioat astyle: enforce braces around single-line statements 2017-12-11 11:19:32 -05:00
iscsi iscsi: make some functions into static 2017-12-21 12:19:44 -05:00
json astyle: enforce braces around single-line statements 2017-12-11 11:19:32 -05:00
jsonrpc log: rename SPDK_TRACE_* to SPDK_LOG_* 2017-12-07 12:23:19 -05:00
log log: rename SPDK_TRACE_* to SPDK_LOG_* 2017-12-07 12:23:19 -05:00
lvol blob: change spdk_bs_iter_next parameter to spdk_blob * 2017-12-15 12:28:44 -05:00
nbd nbd: stop nbd if backing bdev is removed 2017-12-18 12:51:24 -05:00
net astyle: enforce braces around single-line statements 2017-12-11 11:19:32 -05:00
nvme nvme: re-enable the separate metadata support in nvme driver 2017-12-21 13:21:55 -05:00
nvmf nvmf: Fix bug when resizing sgroups array 2017-12-20 21:38:25 -05:00
rocksdb astyle: enforce braces around single-line statements 2017-12-11 11:19:32 -05:00
rpc rpc: set g_jsonrpc_server to NULL on close 2017-11-28 16:20:47 -05:00
scsi scsi: remove spdk_scsi_dev_print() function 2017-12-12 18:04:20 -05:00
trace trace: replace DPDK call with SPDK env.h wrapper 2017-12-12 15:37:05 -05:00
ut_mock test/mock: add pthread_self 2017-09-19 17:15:15 -04:00
util util/crc16: add crc16 library support and unit tests 2017-12-20 15:12:26 -05:00
vhost vhost: Allow set cpumask more than active cores for vhost 2017-12-21 13:32:31 -05:00
Makefile lvol: Logical volume implementation 2017-09-14 19:30:54 -04:00