When system has large count of cpus(eg. 96), the test failed as aio-nr over aio-max-nr limitation. This patch continues to use 1024 as default iodepth, but change it if iodepth*$(nproc) > aio-max-nr. Signed-off-by: Xiao Liang <xiliang@xxxxxxxxxx> --- tests/block/020 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/block/020 b/tests/block/020 index 39dde66..f03c131 100755 --- a/tests/block/020 +++ b/tests/block/020 @@ -29,10 +29,16 @@ test() { # shellcheck disable=SC2207 scheds=($(sed 's/[][]//g' /sys/block/nullb0/queue/scheduler)) + aio_max_nr=$(cat /proc/sys/fs/aio-max-nr) + max_iodepth=$(($aio_max_nr/$(nproc))) + iodepth=1024 + if (( $iodepth > $max_iodepth )); then + iodepth=$max_iodepth + fi for sched in "${scheds[@]}"; do echo "Testing $sched" >> "$FULL" echo "$sched" > /sys/block/nullb0/queue/scheduler - _fio_perf --bs=4k --ioengine=libaio --iodepth=1024 \ + _fio_perf --bs=4k --ioengine=libaio --iodepth=$iodepth \ --numjobs="$(nproc)" --rw=randread --name=async \ --filename=/dev/nullb0 --size=1g --direct=1 \ --runtime=10 -- 2.17.2