Re: [PATCH v2 00/84] Call scsi_done() directly

Bart Van Assche
2021-09-30T16:08:06Z

On 9/30/21 12:25 AM, Bean Huo wrote:
> On Wed, 2021-09-29 at 15:04 -0700, Bart Van Assche wrote:
>> This patch series increases IOPS by 5% on my test setup in a single-
>> threaded
>> test with queue depth 1 on top of the scsi_debug driver.
>
> Here you mentioned queue depth 1. Does this mean SW queue depth?

Hi Bean,

Yes, what I wrote refers to the queue depth of the submitter. The script that I used
to measure performance with and without this patch series is as follows:

#!/bin/bash

iodepth=${1:-1}
runtime=30
blocksize=512
numcpus=$(nproc)

modprobe -r scsi_debug
modprobe scsi_debug max_queue=128 submit_queues="$numcpus" delay=0 &&
udevadm settle

DEVICE=$(find /sys/bus/pseudo/drivers/scsi_debug/adapter*/host*/target*/*/block/ -maxdepth 1 -type d | grep -v 'block/$' | head -1 | xargs basename) || exit $?
[ -n "$DEVICE" ] || exit $?

args=()
if [ "$iodepth" = 1 ]; then
args+=(--ioengine=psync)
else
args+=(--ioengine=io_uring --iodepth_batch=$((iodepth/2)))
fi
args+=(
--bs="${blocksize}"
--direct=1
--filename=/dev/"$DEVICE"
--group_reporting=1
--gtod_reduce=1
--invalidate=1
--iodepth="$iodepth"
--ioscheduler=none
--loops=$((1<<20))
--name=scsi_debug
--numjobs=1
--runtime="$runtime"
--rw=read
--thread
)
set -x
if numactl -m 0 -N 0 echo >&/dev/null; then
numactl -m 0 -N 0 -- fio "${args[@]}"
else
fio "${args[@]}"
fi