From f4e27ffa14f7ccacb1695709c0f2d30e449634d6 Mon Sep 17 00:00:00 2001 From: Karol Latecki Date: Thu, 16 Jul 2020 16:49:30 +0200 Subject: [PATCH] test/nvme_perf: add option to enable gtod_reduce Optionally enable gtod_reduce for fio workload. Results in greatly decreased latency metrics, but improved IOPS/BW. Change-Id: Ibe70d8e9a13a18a31e55b60b5cec7b353e2862c3 Signed-off-by: Karol Latecki Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3379 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Shuhei Matsumoto Reviewed-by: Tomasz Zawadzki Reviewed-by: Paul Luse --- test/nvme/perf/common.sh | 4 ++++ test/nvme/perf/run_perf.sh | 3 +++ 2 files changed, 7 insertions(+) diff --git a/test/nvme/perf/common.sh b/test/nvme/perf/common.sh index c4c586ec5..3472a6db1 100755 --- a/test/nvme/perf/common.sh +++ b/test/nvme/perf/common.sh @@ -228,6 +228,10 @@ function create_fio_config() { log_avg_msec=$SAMPLING_INT EOF + if $GTOD_REDUCE; then + echo "gtod_reduce=1" >> $testdir/config.fio + fi + for i in "${!cores[@]}"; do local m=0 #Counter of disks per NUMA node local n=0 #Counter of all disks in test diff --git a/test/nvme/perf/run_perf.sh b/test/nvme/perf/run_perf.sh index 9715a3eb1..4d1432306 100755 --- a/test/nvme/perf/run_perf.sh +++ b/test/nvme/perf/run_perf.sh @@ -27,6 +27,7 @@ RUNTIME=600 RAMP_TIME=30 NUMJOBS=1 REPEAT_NO=3 +GTOD_REDUCE=false SAMPLING_INT=0 FIO_BIN=$CONFIG_FIO_SOURCE_DIR/fio TMP_RESULT_FILE=$testdir/result.json @@ -64,6 +65,7 @@ function usage() { echo " Applicable only for fio-based tests." 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 " --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 " --fio-bin=PATH Path to fio binary. [default=$FIO_BIN]" echo " Applicable only for fio-based tests." @@ -115,6 +117,7 @@ while getopts 'h-:' optchar; do ramp-time=*) RAMP_TIME="${OPTARG#*=}" ;; numjobs=*) NUMJOBS="${OPTARG#*=}" ;; repeat-no=*) REPEAT_NO="${OPTARG#*=}" ;; + gtod-reduce) GTOD_REDUCE=true ;; sampling-int=*) SAMPLING_INT="${OPTARG#*=}" ;; fio-bin=*) FIO_BIN="${OPTARG#*=}" ;; driver=*) PLUGIN="${OPTARG#*=}" ;;