Commit aa34e8e0 authored by Konrad Sztyber's avatar Konrad Sztyber Committed by Tomasz Zawadzki
Browse files

test/nvmf: reduce num_shared_buffers for RDMA



The nvmf library was recently (73ba05f7) modified to use buffers from
the iobuf pools instead of allocating its own pools.  Since iobuf has
two pools, one for small and one for large buffers, nvmf will only use
the large pool if io_unit_size is larger than the size of a small
buffer.  By default, the RDMA transport uses io_unit_size=8K, but it can
be increased depending on the max number of SGEs a NIC supports.  And,
because the large buffer pool has fewer elements than the small one, it
can be exhausted by allocating the per-thread caches during the tests.
This happens when running the tests on e810, which reports max_sge=6
causing io_unit_size to be set to 24K.

This could have also been fixed by changing iobuf's options: either
increasing the size of the large buffer pool or increasing small buffer
size.  However, that would require changes in most nvmf tests, so,
instead, num_shared_buffers is set to a smaller value, so that we
allocate fewer buffers from the pool.

Fixes #3025.

Signed-off-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I38ef1d88b8a90864a2f0efbe98ecc1d0c7cdec1c
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18229


Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent e6774495
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -441,6 +441,7 @@ function nvmftestinit() {
			echo "no RDMA NIC for nvmf test"
			exit 1
		fi
		NVMF_TRANSPORT_OPTS="$NVMF_TRANSPORT_OPTS --num-shared-buffers 1024"
	elif [[ "$TEST_TRANSPORT" == "tcp" ]]; then
		NVMF_TRANSPORT_OPTS="$NVMF_TRANSPORT_OPTS -o"
	fi