2021-07-20 18:38:49 +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
|
|
|
|
|
|
|
|
if [ "$TEST_TRANSPORT" != "rdma" ]; then
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
MALLOC_BDEV_SIZE=64
|
|
|
|
MALLOC_BLOCK_SIZE=512
|
|
|
|
subsystem="0"
|
|
|
|
rpc_py="$rootdir/scripts/rpc.py"
|
|
|
|
|
2021-10-20 06:35:28 +00:00
|
|
|
function gen_malloc_json() {
|
|
|
|
jq . <<- JSON
|
|
|
|
{
|
|
|
|
"subsystems": [
|
|
|
|
{
|
|
|
|
"subsystem": "bdev",
|
|
|
|
"config": [
|
|
|
|
{
|
|
|
|
"method": "bdev_nvme_set_options",
|
|
|
|
"params": {
|
|
|
|
"action_on_timeout": "none",
|
|
|
|
"timeout_us": 0,
|
|
|
|
"retry_count": 4,
|
|
|
|
"arbitration_burst": 0,
|
|
|
|
"low_priority_weight": 0,
|
|
|
|
"medium_priority_weight": 0,
|
|
|
|
"high_priority_weight": 0,
|
|
|
|
"nvme_adminq_poll_period_us": 10000,
|
|
|
|
"keep_alive_timeout_ms" : 10000,
|
|
|
|
"nvme_ioq_poll_period_us": 0,
|
|
|
|
"io_queue_requests": 0,
|
|
|
|
"delay_cmd_submit": true
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"method": "bdev_malloc_create",
|
|
|
|
"params": {
|
|
|
|
"name": "Malloc0",
|
|
|
|
"num_blocks": 131072,
|
|
|
|
"block_size": 512,
|
|
|
|
"uuid": "e1c24cb1-dd44-4be6-8d67-de92a332013f",
|
|
|
|
"optimal_io_boundary": 2
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"method": "bdev_wait_for_examine"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
JSON
|
|
|
|
}
|
|
|
|
|
2021-07-20 18:38:49 +00:00
|
|
|
nvmftestinit
|
2021-10-05 11:15:55 +00:00
|
|
|
nvmfappstart -m 0x3
|
2021-07-20 18:38:49 +00:00
|
|
|
|
|
|
|
$rpc_py nvmf_create_transport $NVMF_TRANSPORT_OPTS
|
|
|
|
$rpc_py bdev_malloc_create $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE -b Malloc0
|
|
|
|
$rpc_py nvmf_create_subsystem nqn.2016-06.io.spdk:cnode$subsystem -a -s SPDK00000000000001
|
|
|
|
$rpc_py nvmf_subsystem_add_ns nqn.2016-06.io.spdk:cnode$subsystem Malloc0
|
|
|
|
$rpc_py nvmf_subsystem_add_listener nqn.2016-06.io.spdk:cnode$subsystem -t $TEST_TRANSPORT -a $NVMF_FIRST_TARGET_IP -s $NVMF_PORT
|
|
|
|
|
2022-02-01 07:49:08 +00:00
|
|
|
# test memory translation
|
|
|
|
# test_dma doesn't use RPC, but we change the sock path since nvmf target is already using the default RPC sock
|
2022-04-22 09:17:03 +00:00
|
|
|
"$rootdir/test/dma/test_dma/test_dma" -q 16 -o 4096 -w randrw -M 70 -t 5 -m 0xc --json <(gen_nvmf_target_json $subsystem) -b "Nvme${subsystem}n1" -f -x translate -r /var/tmp/dma.sock
|
2021-07-20 18:38:49 +00:00
|
|
|
|
2021-10-20 06:35:28 +00:00
|
|
|
# test data pull/push with split against local malloc
|
2022-04-22 09:17:03 +00:00
|
|
|
"$rootdir/test/dma/test_dma/test_dma" -q 16 -o 4096 -w randrw -M 70 -t 5 -m 0xc --json <(gen_malloc_json) -b "Malloc0" -x pull_push -r /var/tmp/dma.sock
|
2021-10-20 06:35:28 +00:00
|
|
|
|
2021-07-20 18:38:49 +00:00
|
|
|
trap - SIGINT SIGTERM EXIT
|
|
|
|
|
|
|
|
nvmftestfini
|