Commit c7b8fb91 authored by Karol Latecki's avatar Karol Latecki Committed by Jim Harris
Browse files

test/nvmf: decrease number of subsystems for software rdma



SoftRoce does not implement enough queues
for multiconnection tests and cause test pool failures.
In case interface used for test is software
emulated - reduce number of NVMf subsystems in test.

Change-Id: I52cc78015e72603c487a5774b91c6bd4523326b0
Signed-off-by: default avatarKarol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/392357


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent cf1ab98c
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -146,3 +146,18 @@ function revert_soft_roce()
		rxe_cfg stop || true
	fi
}

function check_ip_is_soft_roce()
{
	IP=$1
	if hash rxe_cfg; then
		dev=$(ip -4 -o addr show | grep $IP | cut -d" " -f2)
		if rxe_cfg | grep $dev; then
			return 0
		else
			return 1
		fi
	else
		return 1
	fi
}
+12 −3
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ source $rootdir/test/nvmf/common.sh

MALLOC_BDEV_SIZE=128
MALLOC_BLOCK_SIZE=512
NVMF_SUBSYS=11

rpc_py="python $rootdir/scripts/rpc.py"

@@ -19,6 +20,14 @@ if [ -z $NVMF_FIRST_TARGET_IP ]; then
	exit 0
fi

# SoftRoce does not have enough queues available for
# multiconnection tests. Detect if we're using software RDMA.
# If so - lower the number of subsystems for test.
if check_ip_is_soft_roce $NVMF_FIRST_TARGET_IP; then
	echo "Using software RDMA, lowering number of NVMeOF subsystems."
	NVMF_SUBSYS=1
fi

timing_enter multiconnection
timing_enter start_nvmf_tgt
# Start up the NVMf target in another process
@@ -32,13 +41,13 @@ timing_exit start_nvmf_tgt

modprobe -v nvme-rdma

for i in `seq 1 11`
for i in `seq 1 $NVMF_SUBSYS`
do
	bdevs="$($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)"
	$rpc_py construct_nvmf_subsystem nqn.2016-06.io.spdk:cnode${i} "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:$NVMF_PORT" '' -a -s SPDK${i} -n "$bdevs"
done

for i in `seq 1 11`; do
for i in `seq 1 $NVMF_SUBSYS`; do
	nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode${i}" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
done

@@ -46,7 +55,7 @@ $testdir/../fio/nvmf_fio.py 262144 64 read 10
$testdir/../fio/nvmf_fio.py 262144 64 randwrite 10

sync
for i in `seq 1 11`; do
for i in `seq 1 $NVMF_SUBSYS`; do
	nvme disconnect -n "nqn.2016-06.io.spdk:cnode${i}" || true
	$rpc_py delete_nvmf_subsystem nqn.2016-06.io.spdk:cnode${i}
done