2015-09-21 15:52:41 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2016-01-05 22:31:56 +00:00
|
|
|
set -e
|
|
|
|
|
2015-09-21 15:52:41 +00:00
|
|
|
testdir=$(readlink -f $(dirname $0))
|
|
|
|
rootdir="$testdir/../../.."
|
|
|
|
source $rootdir/scripts/autotest_common.sh
|
|
|
|
|
2016-04-13 00:58:29 +00:00
|
|
|
function linux_iter_pci {
|
|
|
|
lspci -mm -n | grep $1 | tr -d '"' | awk -F " " '{print "0000:"$1}'
|
|
|
|
}
|
|
|
|
|
2015-10-08 19:40:44 +00:00
|
|
|
timing_enter nvme
|
|
|
|
|
|
|
|
timing_enter unit
|
2015-10-05 17:54:32 +00:00
|
|
|
$valgrind $testdir/unit/nvme_ns_cmd_c/nvme_ns_cmd_ut
|
2016-05-27 15:39:45 +00:00
|
|
|
$valgrind $testdir/unit/nvme_c/nvme_ut
|
2015-10-05 17:54:32 +00:00
|
|
|
$valgrind $testdir/unit/nvme_qpair_c/nvme_qpair_ut
|
|
|
|
$valgrind $testdir/unit/nvme_ctrlr_c/nvme_ctrlr_ut
|
|
|
|
$valgrind $testdir/unit/nvme_ctrlr_cmd_c/nvme_ctrlr_cmd_ut
|
2017-01-05 23:12:54 +00:00
|
|
|
$valgrind $testdir/unit/nvme_pcie_c/nvme_pcie_ut
|
2015-10-08 19:40:44 +00:00
|
|
|
timing_exit unit
|
2015-09-21 15:52:41 +00:00
|
|
|
|
2016-03-23 20:34:31 +00:00
|
|
|
if [ $RUN_NIGHTLY -eq 1 ]; then
|
|
|
|
timing_enter aer
|
|
|
|
$testdir/aer/aer
|
|
|
|
timing_exit aer
|
|
|
|
fi
|
2015-09-21 15:52:41 +00:00
|
|
|
|
2015-10-08 19:40:44 +00:00
|
|
|
timing_enter identify
|
2015-09-21 15:52:41 +00:00
|
|
|
$rootdir/examples/nvme/identify/identify
|
2015-10-08 19:40:44 +00:00
|
|
|
timing_exit identify
|
2015-09-21 15:52:41 +00:00
|
|
|
|
2015-10-08 19:40:44 +00:00
|
|
|
timing_enter perf
|
2016-03-07 22:17:09 +00:00
|
|
|
$rootdir/examples/nvme/perf/perf -q 128 -w read -s 12288 -t 1
|
2015-10-08 19:40:44 +00:00
|
|
|
timing_exit perf
|
|
|
|
|
2016-01-22 08:39:55 +00:00
|
|
|
timing_enter reserve
|
|
|
|
$rootdir/examples/nvme/reserve/reserve
|
|
|
|
timing_exit reserve
|
|
|
|
|
2016-07-19 16:33:46 +00:00
|
|
|
timing_enter hello_world
|
|
|
|
$rootdir/examples/nvme/hello_world/hello_world
|
|
|
|
timing_exit
|
|
|
|
|
2016-08-01 20:18:22 +00:00
|
|
|
timing_enter overhead
|
|
|
|
$rootdir/test/lib/nvme/overhead/overhead -s 4096 -t 1
|
|
|
|
timing_exit overhead
|
|
|
|
|
2016-04-13 00:58:29 +00:00
|
|
|
if [ -d /usr/src/fio ]; then
|
|
|
|
timing_enter fio_plugin
|
|
|
|
for bdf in $(linux_iter_pci 0108); do
|
|
|
|
/usr/src/fio/fio $rootdir/examples/nvme/fio_plugin/example_config.fio --filename=${bdf//:/.}/1
|
|
|
|
break
|
|
|
|
done
|
|
|
|
|
|
|
|
timing_exit fio_plugin
|
|
|
|
fi
|
|
|
|
|
2016-06-14 07:19:38 +00:00
|
|
|
timing_enter arbitration
|
|
|
|
$rootdir/examples/nvme/arbitration/arbitration -t 3
|
|
|
|
timing_exit arbitration
|
|
|
|
|
2016-12-06 19:24:06 +00:00
|
|
|
if [ $(uname -s) = Linux ]; then
|
2016-11-15 06:54:52 +00:00
|
|
|
timing_enter multi_process
|
2016-12-06 19:24:06 +00:00
|
|
|
$rootdir/examples/nvme/arbitration/arbitration -s 4096 -t 10 -c 0xf &
|
2016-11-15 06:54:52 +00:00
|
|
|
pid=$!
|
|
|
|
sleep 3
|
2016-12-06 19:24:06 +00:00
|
|
|
$rootdir/examples/nvme/perf/perf -q 1 -w randread -s 4096 -t 10 -c 0x10 &
|
2016-11-15 06:54:52 +00:00
|
|
|
sleep 1
|
|
|
|
kill -9 $!
|
|
|
|
count=0
|
|
|
|
while [ $count -le 2 ]; do
|
2016-12-06 19:24:06 +00:00
|
|
|
$rootdir/examples/nvme/perf/perf -q 1 -w read -s 4096 -t 1 -c 0x10
|
|
|
|
count=$(($count + 1))
|
2016-11-15 06:54:52 +00:00
|
|
|
done
|
|
|
|
count=0
|
|
|
|
while [ $count -le 1 ]; do
|
2016-12-06 19:24:06 +00:00
|
|
|
core=$((1 << (($count + 4))))
|
|
|
|
printf -v hexcore "0x%x" "$core"
|
|
|
|
$rootdir/examples/nvme/perf/perf -q 128 -w read -s 4096 -t 1 -c $hexcore &
|
|
|
|
count=$(($count + 1))
|
2016-11-15 06:54:52 +00:00
|
|
|
done
|
|
|
|
wait $pid
|
|
|
|
timing_exit multi_process
|
|
|
|
fi
|
|
|
|
|
2015-10-19 05:52:57 +00:00
|
|
|
#Now test nvme reset function
|
|
|
|
timing_enter reset
|
2016-03-07 22:06:33 +00:00
|
|
|
$testdir/reset/reset -q 64 -w write -s 4096 -t 2
|
2015-10-19 05:52:57 +00:00
|
|
|
timing_exit reset
|
|
|
|
|
2015-12-04 03:52:37 +00:00
|
|
|
timing_enter sgl
|
|
|
|
$testdir/sgl/sgl
|
|
|
|
timing_exit sgl
|
2015-10-19 05:52:57 +00:00
|
|
|
|
2016-04-07 06:52:43 +00:00
|
|
|
timing_enter e2edp
|
|
|
|
$testdir/e2edp/nvme_dp
|
|
|
|
timing_exit e2edp
|
|
|
|
|
2015-10-08 19:40:44 +00:00
|
|
|
timing_exit nvme
|