@@ -29,46 +29,53 @@ toggle_iosched() {
2929test () {
3030 echo " Running ${TEST_NAME} "
3131
32- # To do: make this test pass for qd > 1.
33- local qd=1
34- echo " $qd "
35- local scsi_debug_params=(
36- delay=0
37- dev_size_mb=1024
38- every_nth=$(( 2 * qd))
39- max_queue=" ${qd} "
40- opts=0x8000 # SDEBUG_OPT_HOST_BUSY
41- sector_size=4096
42- zbc=host-managed
43- zone_nr_conv=0
44- zone_size_mb=4
45- )
46- _init_scsi_debug " ${scsi_debug_params[@]} " &&
47- local zdev=" /dev/${SCSI_DEBUG_DEVICES[0]} " fail &&
48- ls -ld " ${zdev} " >> " ${FULL} " &&
49- { toggle_iosched & } &&
50- toggle_iosched_pid=$! &&
51- local fail &&
52- local fio_args=(
53- --direct=1
54- --filename=" ${zdev} "
55- --iodepth=" ${qd} "
56- --ioengine=io_uring
57- --ioscheduler=none
58- --name=" requeuing-and-queue-freezing-${qd} "
59- --runtime=" ${TIMEOUT:- 30} "
60- --rw=randwrite
61- --time_based
62- --zonemode=zbd
32+ for qd in 1 2 4 8 16; do
33+ echo " $qd "
34+ local scsi_debug_params=(
35+ delay=0
36+ dev_size_mb=1024
37+ every_nth=$(( 2 * qd))
38+ max_queue=" ${qd} "
39+ opts=0x8000 # SDEBUG_OPT_HOST_BUSY
40+ sector_size=4096
41+ zbc=host-managed
42+ zone_nr_conv=0
43+ zone_size_mb=4
6344 )
64- if ! fio " ${fio_args[@]} " >> " ${FULL} " 2>&1 ; then
65- fail=true
66- fi
67- if [ -n " ${toggle_iosched_pid} " ]; then
68- kill " ${toggle_iosched_pid} " >> " ${FULL} " 2>&1
69- fi
70- _exit_scsi_debug >> " ${FULL} " 2>&1
71-
45+ _init_scsi_debug " ${scsi_debug_params[@]} " &&
46+ local zdev=" /dev/${SCSI_DEBUG_DEVICES[0]} " fail &&
47+ ls -ld " ${zdev} " >> " ${FULL} " &&
48+ { toggle_iosched & } &&
49+ toggle_iosched_pid=$! &&
50+ local fail &&
51+ local ioengine &&
52+ if [ $qd = 1 ]; then
53+ ioengine=io_uring
54+ else
55+ ioengine=libaio
56+ fi
57+ local fio_args=(
58+ --direct=1
59+ --filename=" ${zdev} "
60+ --iodepth=" ${qd} "
61+ --ioengine=" ${ioengine} "
62+ --ioscheduler=none
63+ --name=" requeuing-and-queue-freezing-${qd} "
64+ --runtime=$(( ${TIMEOUT:- 30} / 5 ))
65+ --rw=randwrite
66+ --time_based
67+ --zonemode=zbd
68+ )
69+ if ! fio " ${fio_args[@]} " >> " ${FULL} " 2>&1 ; then
70+ fail=true
71+ fi
72+ if [ -n " ${toggle_iosched_pid} " ]; then
73+ kill " ${toggle_iosched_pid} " >> " ${FULL} " 2>&1
74+ fi
75+ _exit_scsi_debug >> " ${FULL} " 2>&1
76+ [ -z " $fail " ] || break
77+ done
78+
7279 if [ -z " $fail " ]; then
7380 echo " Test complete"
7481 else
0 commit comments