test/nvme_perf: add iodepth_batch options for fio tests

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: Ia029df5c8c75eff6ba8db9f21756b91a8a0d9720
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4104
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Michal Berger <michalx.berger@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Karol Latecki 2020-09-08 18:53:06 +02:00 committed by Tomasz Zawadzki
parent 67d4ef8dab
commit e4ff3a5bf1
2 changed files with 29 additions and 15 deletions

View File

@ -232,6 +232,14 @@ function create_fio_config() {
echo "gtod_reduce=1" >> $testdir/config.fio echo "gtod_reduce=1" >> $testdir/config.fio
fi fi
if [[ "$IO_BATCH_SUBMIT" -gt 0 ]]; then
echo "iodepth_batch_submit=$IO_BATCH_SUBMIT" >> $testdir/config.fio
fi
if [[ "$IO_BATCH_COMPLETE" -gt 0 ]]; then
echo "iodepth_batch_complete=$IO_BATCH_COMPLETE" >> $testdir/config.fio
fi
for i in "${!cores[@]}"; do for i in "${!cores[@]}"; do
local m=0 #Counter of disks per NUMA node local m=0 #Counter of disks per NUMA node
local n=0 #Counter of all disks in test local n=0 #Counter of all disks in test

View File

@ -29,6 +29,8 @@ NUMJOBS=1
REPEAT_NO=3 REPEAT_NO=3
GTOD_REDUCE=false GTOD_REDUCE=false
SAMPLING_INT=0 SAMPLING_INT=0
IO_BATCH_SUBMIT=0
IO_BATCH_COMPLETE=0
FIO_BIN=$CONFIG_FIO_SOURCE_DIR/fio FIO_BIN=$CONFIG_FIO_SOURCE_DIR/fio
TMP_RESULT_FILE=$testdir/result.json TMP_RESULT_FILE=$testdir/result.json
PLUGIN="nvme" PLUGIN="nvme"
@ -55,21 +57,23 @@ function usage() {
echo "-h, --help Print help and exit" echo "-h, --help Print help and exit"
echo echo
echo "Workload parameters:" echo "Workload parameters:"
echo " --rw=STR Type of I/O pattern. Accepted values are randrw,rw. [default=$RW]" echo " --rw=STR Type of I/O pattern. Accepted values are randrw,rw. [default=$RW]"
echo " --rwmixread=INT Percentage of a mixed workload that should be reads. [default=$MIX]" echo " --rwmixread=INT Percentage of a mixed workload that should be reads. [default=$MIX]"
echo " --iodepth=INT Number of I/Os to keep in flight against the file. [default=$IODEPTH]" echo " --iodepth=INT Number of I/Os to keep in flight against the file. [default=$IODEPTH]"
echo " --block-size=INT The block size in bytes used for I/O units. [default=$BLK_SIZE]" echo " --block-size=INT The block size in bytes used for I/O units. [default=$BLK_SIZE]"
echo " --run-time=TIME[s] Tell fio to run the workload for the specified period of time. [default=$RUNTIME]" echo " --run-time=TIME[s] Tell fio to run the workload for the specified period of time. [default=$RUNTIME]"
echo " --ramp-time=TIME[s] Fio will run the specified workload for this amount of time before" echo " --ramp-time=TIME[s] Fio will run the specified workload for this amount of time before"
echo " logging any performance numbers. [default=$RAMP_TIME]. Applicable only for fio-based tests." echo " logging any performance numbers. [default=$RAMP_TIME]. Applicable only for fio-based tests."
echo " --numjobs=INT Create the specified number of clones of this job. [default=$NUMJOBS]" echo " --numjobs=INT Create the specified number of clones of this job. [default=$NUMJOBS]"
echo " Applicable only for fio-based tests." echo " Applicable only for fio-based tests."
echo " --repeat-no=INT How many times to repeat workload test. [default=$REPEAT_NO]" echo " --repeat-no=INT How many times to repeat workload test. [default=$REPEAT_NO]"
echo " Test result will be an average of repeated test runs." echo " Test result will be an average of repeated test runs."
echo " --gtod-reduce Enable fio gtod_reduce option. [default=$GTOD_REDUCE]" echo " --gtod-reduce Enable fio gtod_reduce option. [default=$GTOD_REDUCE]"
echo " --sampling-int=INT Value for fio log_avg_msec parameters [default=$SAMPLING_INT]" echo " --sampling-int=INT Value for fio log_avg_msec parameters [default=$SAMPLING_INT]"
echo " --fio-bin=PATH Path to fio binary. [default=$FIO_BIN]" echo " --io-batch-submit=INT Value for iodepth_batch_submit fio option [default=$IO_BATCH_SUBMIT]"
echo " Applicable only for fio-based tests." echo " --io-batch-complete=INT Value for iodepth_batch_complete fio option [default=$IO_BATCH_COMPLETE]"
echo " --fio-bin=PATH Path to fio binary. [default=$FIO_BIN]"
echo " Applicable only for fio-based tests."
echo echo
echo "Test setup parameters:" echo "Test setup parameters:"
echo " --driver=STR Selects tool used for testing. Choices available:" echo " --driver=STR Selects tool used for testing. Choices available:"
@ -121,6 +125,8 @@ while getopts 'h-:' optchar; do
repeat-no=*) REPEAT_NO="${OPTARG#*=}" ;; repeat-no=*) REPEAT_NO="${OPTARG#*=}" ;;
gtod-reduce) GTOD_REDUCE=true ;; gtod-reduce) GTOD_REDUCE=true ;;
sampling-int=*) SAMPLING_INT="${OPTARG#*=}" ;; sampling-int=*) SAMPLING_INT="${OPTARG#*=}" ;;
io-batch-submit=*) IO_BATCH_SUBMIT="${OPTARG#*=}" ;;
io-batch-complete=*) IO_BATCH_COMPLETE="${OPTARG#*=}" ;;
fio-bin=*) FIO_BIN="${OPTARG#*=}" ;; fio-bin=*) FIO_BIN="${OPTARG#*=}" ;;
driver=*) PLUGIN="${OPTARG#*=}" ;; driver=*) PLUGIN="${OPTARG#*=}" ;;
disk-config=*) disk-config=*)