2020-08-19 15:35:38 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
testdir=$(readlink -f $(dirname $0))
|
|
|
|
rootdir=$(readlink -f $testdir/../../..)
|
|
|
|
source $rootdir/test/common/autotest_common.sh
|
|
|
|
source $rootdir/test/nvmf/common.sh
|
|
|
|
|
2021-02-03 09:24:06 +00:00
|
|
|
MALLOC_BDEV_SIZE=64
|
2020-08-19 15:35:38 +00:00
|
|
|
MALLOC_BLOCK_SIZE=512
|
2021-02-03 09:24:06 +00:00
|
|
|
NUM_DEVICES=2
|
2020-08-19 15:35:38 +00:00
|
|
|
|
|
|
|
rpc_py="$rootdir/scripts/rpc.py"
|
|
|
|
|
|
|
|
export TEST_TRANSPORT=VFIOUSER
|
|
|
|
|
2021-06-03 15:25:22 +00:00
|
|
|
rm -rf /var/run/vfio-user
|
2020-08-19 15:35:38 +00:00
|
|
|
|
|
|
|
# Start the target
|
|
|
|
"${NVMF_APP[@]}" -m 0x1 &
|
|
|
|
nvmfpid=$!
|
|
|
|
echo "Process pid: $nvmfpid"
|
|
|
|
|
|
|
|
trap 'killprocess $nvmfpid; exit 1' SIGINT SIGTERM EXIT
|
|
|
|
waitforlisten $nvmfpid
|
|
|
|
|
|
|
|
sleep 1
|
|
|
|
|
2021-06-03 15:25:22 +00:00
|
|
|
$rpc_py nvmf_create_transport -t $TEST_TRANSPORT
|
2020-08-19 15:35:38 +00:00
|
|
|
|
2021-06-03 15:25:22 +00:00
|
|
|
mkdir -p /var/run/vfio-user
|
2020-08-19 15:35:38 +00:00
|
|
|
|
2021-02-03 09:24:06 +00:00
|
|
|
for i in $(seq 1 $NUM_DEVICES); do
|
2021-06-03 15:25:22 +00:00
|
|
|
mkdir -p /var/run/vfio-user/domain/vfio-user$i/$i
|
2021-02-03 09:24:06 +00:00
|
|
|
|
|
|
|
$rpc_py bdev_malloc_create $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE -b Malloc$i
|
|
|
|
$rpc_py nvmf_create_subsystem nqn.2019-07.io.spdk:cnode$i -a -s SPDK$i
|
|
|
|
$rpc_py nvmf_subsystem_add_ns nqn.2019-07.io.spdk:cnode$i Malloc$i
|
2021-06-03 15:25:22 +00:00
|
|
|
$rpc_py nvmf_subsystem_add_listener nqn.2019-07.io.spdk:cnode$i -t $TEST_TRANSPORT -a "/var/run/vfio-user/domain/vfio-user$i/$i" -s 0
|
2021-02-03 09:24:06 +00:00
|
|
|
done
|
|
|
|
|
|
|
|
for i in $(seq 1 $NUM_DEVICES); do
|
2021-06-03 15:25:22 +00:00
|
|
|
test_traddr=/var/run/vfio-user/domain/vfio-user$i/$i
|
|
|
|
test_subnqn=nqn.2019-07.io.spdk:cnode$i
|
|
|
|
$SPDK_EXAMPLE_DIR/identify -r "trtype:$TEST_TRANSPORT traddr:$test_traddr subnqn:$test_subnqn" -g -L nvme -L nvme_vfio -L vfio_pci
|
2021-02-03 09:24:06 +00:00
|
|
|
sleep 1
|
2021-06-03 15:25:22 +00:00
|
|
|
$SPDK_EXAMPLE_DIR/perf -r "trtype:$TEST_TRANSPORT traddr:$test_traddr subnqn:$test_subnqn" -s 256 -g -q 128 -o 4096 -w read -t 5 -c 0x2
|
2021-02-03 09:24:06 +00:00
|
|
|
sleep 1
|
2021-06-03 15:25:22 +00:00
|
|
|
$SPDK_EXAMPLE_DIR/perf -r "trtype:$TEST_TRANSPORT traddr:$test_traddr subnqn:$test_subnqn" -s 256 -g -q 128 -o 4096 -w write -t 5 -c 0x2
|
2021-02-03 09:24:06 +00:00
|
|
|
sleep 1
|
2021-06-03 15:25:22 +00:00
|
|
|
$SPDK_EXAMPLE_DIR/reconnect -r "trtype:$TEST_TRANSPORT traddr:$test_traddr subnqn:$test_subnqn" -g -q 32 -o 4096 -w randrw -M 50 -t 5 -c 0xE
|
2021-02-03 09:24:06 +00:00
|
|
|
sleep 1
|
|
|
|
done
|
2020-08-19 15:35:38 +00:00
|
|
|
|
|
|
|
killprocess $nvmfpid
|
|
|
|
|
2021-06-03 15:25:22 +00:00
|
|
|
rm -rf /var/run/vfio-user
|
2020-08-19 15:35:38 +00:00
|
|
|
|
|
|
|
trap - SIGINT SIGTERM EXIT
|