test/nvme-perf: group kernel mode setup into one block

Group all kernel conditionals for various ioengines in
one if block.

Change-Id: I14f736c1ab8fce13effeb9ec06731b3d14859941
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/479818
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
Karol Latecki 2020-01-08 15:36:33 +01:00 committed by Tomasz Zawadzki
parent 73059a2a53
commit d82c680d60
2 changed files with 41 additions and 42 deletions

View File

@ -11,6 +11,13 @@ NVMEPERF_DIR=$ROOT_DIR/examples/nvme/perf
. $ROOT_DIR/test/common/autotest_common.sh
NVME_FIO_RESULTS=$BASE_DIR/result.json
declare -A KERNEL_ENGINES
KERNEL_ENGINES=(
["kernel-libaio"]="--ioengine=libaio"
["kernel-classic-polling"]="--ioengine=pvsync2 --hipri=100"
["kernel-hybrid-polling"]="--ioengine=pvsync2 --hipri=100"
["kernel-io-uring"]="--ioengine=io_uring" )
RW=randrw
MIX=100
IODEPTH=256

View File

@ -47,53 +47,45 @@ if $PRECONDITIONING; then
preconditioning
fi
#Kernel Classic Polling ioengine parameters
if [ $PLUGIN = "kernel-classic-polling" ]; then
if [[ "$PLUGIN" =~ "kernel" ]]; then
$ROOT_DIR/scripts/setup.sh reset
fio_ioengine_opt="--ioengine=pvsync2 --hipri=100"
for disk in $DISK_NAMES; do
echo -1 > /sys/block/$disk/queue/io_poll_delay
done
#Kernel Hybrid Polling ioengine parameter
elif [ $PLUGIN = "kernel-hybrid-polling" ]; then
$ROOT_DIR/scripts/setup.sh reset
fio_ioengine_opt="--ioengine=pvsync2 --hipri=100"
for disk in $DISK_NAMES; do
echo 0 > /sys/block/$disk/queue/io_poll_delay
done
elif [ $PLUGIN = "kernel-libaio" ]; then
$ROOT_DIR/scripts/setup.sh reset
fio_ioengine_opt="--ioengine=libaio"
elif [ $PLUGIN = "kernel-io-uring" ]; then
$ROOT_DIR/scripts/setup.sh reset
fio_ioengine_opt="--ioengine=io_uring"
fio_ioengine_opt="${KERNEL_ENGINES[$PLUGIN]}"
modprobe -rv nvme
modprobe nvme poll_queues=8
wait_for_nvme_reload $DISK_NAMES
if [[ $PLUGIN = "kernel-classic-polling" ]]; then
for disk in $DISK_NAMES; do
echo -1 > /sys/block/$disk/queue/io_poll_delay
done
elif [[ $PLUGIN = "kernel-hybrid-polling" ]]; then
for disk in $DISK_NAMES; do
echo 0 > /sys/block/$disk/queue/io_poll_delay
done
elif [[ $PLUGIN = "kernel-io-uring" ]]; then
modprobe -rv nvme
modprobe nvme poll_queues=8
wait_for_nvme_reload $DISK_NAMES
backup_dir="/tmp/nvme_param_bak"
mkdir -p $backup_dir
backup_dir="/tmp/nvme_param_bak"
mkdir -p $backup_dir
for disk in $DISK_NAMES; do
echo "INFO: Backing up device parameters for $disk"
sysfs=/sys/block/$disk/queue
mkdir -p $backup_dir/$disk
cat $sysfs/iostats > $backup_dir/$disk/iostats
cat $sysfs/rq_affinity > $backup_dir/$disk/rq_affinity
cat $sysfs/nomerges > $backup_dir/$disk/nomerges
cat $sysfs/io_poll_delay > $backup_dir/$disk/io_poll_delay
done
for disk in $DISK_NAMES; do
echo "INFO: Backing up device parameters for $disk"
sysfs=/sys/block/$disk/queue
mkdir -p $backup_dir/$disk
cat $sysfs/iostats > $backup_dir/$disk/iostats
cat $sysfs/rq_affinity > $backup_dir/$disk/rq_affinity
cat $sysfs/nomerges > $backup_dir/$disk/nomerges
cat $sysfs/io_poll_delay > $backup_dir/$disk/io_poll_delay
done
for disk in $DISK_NAMES; do
echo "INFO: Setting device parameters for $disk"
sysfs=/sys/block/$disk/queue
echo 0 > $sysfs/iostats
echo 0 > $sysfs/rq_affinity
echo 2 > $sysfs/nomerges
echo 0 > $sysfs/io_poll_delay
done
for disk in $DISK_NAMES; do
echo "INFO: Setting device parameters for $disk"
sysfs=/sys/block/$disk/queue
echo 0 > $sysfs/iostats
echo 0 > $sysfs/rq_affinity
echo 2 > $sysfs/nomerges
echo 0 > $sysfs/io_poll_delay
done
fi
fi
result_dir=$BASE_DIR/results/perf_results_${BLK_SIZE}BS_${IODEPTH}QD_${RW}_${MIX}MIX_${PLUGIN}_${DATE}