Spdk/lib
Jim Harris 3b138377e2 nvmf/tcp, nvmf/rdma: default to dynamic buf_cache_size
The nvmf generic transport code creates a mempool of
I/O buffers, as well as its own per-thread cache
of those buffers.  The mempool was being created
with a non-zero mempool cache, effectively duplicating
work - we had a cache in the mempool and then another
in the transport layer.

So patch 019cbb9 removed the mempool cache, but the
tcp transport was significantly affected by it.  It
uses a default 32 buffers per thread cache which is
very small, it was actually mostly relying on the
mempool cache (which was 512).  Performance regression
tests caught this problem, and Karol verified that
specifying a higher buf_cache_size fixed the problem.

So change both the tcp and rdma transports to specify
UINT32_MAX as the default buf_cache_size.  If the
user does not override this when creating the transport,
it will be dynamically sized based on the size of
the buffer pool and the number of poll groups.

Fixes: 019cbb9 ("nvmf: disable data buf mempool cache")

Fixes issue #2934.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Idd43e99312d59940ca68402299e264cc187bfccd
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17203
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Community-CI: Mellanox Build Bot
2023-03-28 20:17:21 +00:00
..
accel accel: allow libisal and libisal_crypto 2023-03-28 07:07:06 +00:00
bdev lib/bdev: fixed potential dereferencing of NULL pointer 2023-03-28 07:03:56 +00:00
blob blob: refactor parent_id and allocate_all checks 2023-03-28 03:57:35 +00:00
blobfs so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
conf so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
dma so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
env_dpdk env: expose function to get main core 2023-01-31 10:31:04 +00:00
env_ocf ocf: fix env_ticks_to_{msec,usec,nsec} precision & accuracy 2023-03-21 19:08:59 +00:00
event trace: update description of tracepoint number 2023-03-10 11:42:23 +00:00
ftl so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
idxd lib/idxd: Removed SPDK_IDXD_FLAG_PERSISTENT flag 2023-03-03 11:20:03 +00:00
init so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
ioat so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
iscsi freebsd: return negated error from getaddrinfo() 2023-03-10 16:44:37 +00:00
json so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
jsonrpc freebsd: return negated error from getaddrinfo() 2023-03-10 16:44:37 +00:00
log so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
lvol lvol: allocate lvs before loading it 2023-03-28 03:57:35 +00:00
mlx5 so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
nbd so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
notify so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
nvme lib/nvme_rdma: return negated error from nvme_rdma_parse_addr 2023-03-10 16:44:37 +00:00
nvmf nvmf/tcp, nvmf/rdma: default to dynamic buf_cache_size 2023-03-28 20:17:21 +00:00
rdma so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
reduce deprecation: Remove support for PMDK 2023-01-26 15:16:19 +00:00
rocksdb rocksdb: remove spdk_thread 2022-11-23 08:22:04 +00:00
rpc so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
scsi so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
sock sock: Allow flushing even if the socket is in a poll group 2023-01-24 18:18:33 +00:00
thread thread: Add spdk_thread_get_interrupt_fd_group that returns spdk_fd_group 2023-02-28 08:52:27 +00:00
trace so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
trace_parser so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
ublk lib/ublk: use page aligned data buffer 2023-03-28 10:20:50 +00:00
ut_mock so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
util util: fix misaligned load for uint64_t type 2023-03-01 08:56:01 +00:00
vfio_user so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
vfu_tgt so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
vhost lib/vhost: Rename rte_vhost_slave_config_change() 2023-03-24 07:23:19 +00:00
virtio lib/virtio_vfio_user: use VIRTIO_PCI_VRING_ALIGN aligned vring address 2023-02-09 11:31:39 +00:00
vmd so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
Makefile ublk: add configure and event/subsystem 2023-01-20 07:48:25 +00:00