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: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/392357
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Karol Latecki 2017-12-19 15:01:11 +01:00 committed by Jim Harris
parent cf1ab98c90
commit c7b8fb9116
2 changed files with 27 additions and 3 deletions

View File

@ -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
}

View File

@ -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