test/nvmf: avoid running bdevperf on top of nvmf_tgt

When you run verify on bdev perf, it rejects any user provided core
masks and pins itself to core 0. We were also running the NVMe-oF target
on cores 0-3. Occasionally I was seeing the shutdown tests failing
during the waitforio step. It seemed like the target and bdevperf were
both still online during this failure, so my hypothesis is that the
bdevperf poller was stealing all of the cycles from the NVMe-oF poller
completing I/O so the I/O wasn't completing.

Even if that's not what's happening, it is probably a good idea to split
the NVMe-oF application and bdevperf onto different cores.

Change-Id: Ib3b5b00e639ebd14bd1ed2cfb4b7782076ca364c
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/462551
Reviewed-by: Ziye Yang <ziye.yang@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Tested-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
This commit is contained in:
Seth Howell 2019-07-18 19:13:23 -07:00 committed by Darek Stojaczyk
parent 53c9f4350a
commit a78b7bb18c

View File

@ -36,7 +36,7 @@ function waitforio() {
timing_enter shutdown
nvmftestinit
nvmfappstart "-m 0xF"
nvmfappstart "-m 0x1E"
$rpc_py nvmf_create_transport $NVMF_TRANSPORT_OPTS -u 8192
@ -70,7 +70,7 @@ timing_exit create_subsystems
timing_enter test1
# Run bdev_svc, which connects but does not issue I/O
$rootdir/test/app/bdev_svc/bdev_svc -i 1 -r /var/tmp/bdevperf.sock -c $testdir/bdevperf.conf &
$rootdir/test/app/bdev_svc/bdev_svc -m 0x1 -i 1 -r /var/tmp/bdevperf.sock -c $testdir/bdevperf.conf &
perfpid=$!
waitforlisten $perfpid /var/tmp/bdevperf.sock
$rpc_py -s /var/tmp/bdevperf.sock wait_subsystem_init