numam-spdk/lib/nvmf
Alexey Marchuk 903fdb752b nvmf/transport: Use mempool_get_bulk to feel pg cache
When we try to evenly divide transport buffers between poll grouos,
e.g. when we run spdk_tgt on 8 cores, set num_shared_buffers=32768
and pg buf_cache_size=4096, the last pg can't retrieve enough
buffers to fill cache. In my case if only got 4040 buffers out of
4096. Missing 56 buffers were cached by previous poll groups.
That occurred due to mempool has per lcore cache of 512 elements
and when it becomes empty, the cache is refilled. It seems that
each poll group cached extra 8 buffers.
The issue doesn't occur when we use mempool_get_bulk.

Change-Id: I866d58aa03986a3cffe27402b12f9a2519097f83
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3881
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2020-09-09 07:19:50 +00:00
..
ctrlr_bdev.c lib/nvmf: Support custom admin cmd handler for abort 2020-07-24 07:25:47 +00:00
ctrlr_discovery.c lib/nvmf: remove spdk_ and _spdk prefix from functions. 2020-06-01 09:21:14 +00:00
ctrlr.c lib/nvmf: Replace raw number 0xffffffff by SPDK_NVME_GLOBAL_NS_TAG 2020-09-07 09:29:37 +00:00
fc_ls.c nvmf: Remove new_qpair callback from transport accept function pointer 2020-06-18 07:29:41 +00:00
fc.c lib/nvmf: Add nvmf_transport_qpair_abort_request() 2020-07-14 07:54:42 +00:00
Makefile lib/nvmf: make spdk_nvmf_qpair_disconnect thread safe. 2020-08-12 07:51:15 +00:00
nvmf_fc.h nvmf: Remove new_qpair callback from transport accept function pointer 2020-06-18 07:29:41 +00:00
nvmf_internal.h lib/nvmf: Add ANA state to struct spdk_nvmf_subsystem_listener 2020-09-04 08:14:18 +00:00
nvmf_rpc.c lib/nvmf: Factor out internal of rpc_nvmf_subsystem_get_controllers() to reuse 2020-09-07 09:29:37 +00:00
nvmf.c nvmf/subsystem: New path when we fail to change the subsystem state. 2020-09-07 09:29:25 +00:00
rdma.c lib/nvmf: Add trid to struct spdk_nvmf_qpair 2020-09-04 08:14:18 +00:00
spdk_nvmf.map lib/nvmf: Optionalize ANA reporting feature 2020-08-21 08:22:40 +00:00
subsystem.c nvmf/subsystem: New path when we fail to change the subsystem state. 2020-09-07 09:29:25 +00:00
tcp.c lib/nvmf: Add trid to struct spdk_nvmf_qpair 2020-09-04 08:14:18 +00:00
transport.c nvmf/transport: Use mempool_get_bulk to feel pg cache 2020-09-09 07:19:50 +00:00
transport.h lib/nvmf: Add nvmf_transport_qpair_abort_request() 2020-07-14 07:54:42 +00:00