Commit 757eddeb authored by Karol Latecki's avatar Karol Latecki Committed by Jim Harris
Browse files

test/vhost: add option for fio gtod_reduce



Enable gtod_reduce fio option on demand for
better IOPS/BW results at cost of reducing
latency measurements.

Signed-off-by: default avatarKarol Latecki <karol.latecki@intel.com>
Change-Id: I0511a5fdc09bb20b5a769ad55f2306b87e5d2dde
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3502


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent c3dc7fb5
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1049,6 +1049,7 @@ function run_fio() {
	local run_plugin_mode=false
	local fio_start_cmd
	local fio_output_format="normal"
	local fio_gtod_reduce=false
	local wait_for_fio=true

	for arg in "$@"; do
@@ -1069,6 +1070,7 @@ function run_fio() {
			--json) fio_output_format="json" ;;
			--hide-results) hide_results=true ;;
			--no-wait-for-fio) wait_for_fio=false ;;
			--gtod-reduce) fio_gtod_reduce=true ;;
			*)
				error "Invalid argument '$arg'"
				return 1
@@ -1103,6 +1105,11 @@ function run_fio() {
		local vmdisks=${vm#*:}

		sed "s@filename=@filename=$vmdisks@" $job_file | vm_exec $vm_num "cat > /root/$job_fname"

		if $fio_gtod_reduce; then
			vm_exec $vm_num "echo 'gtod_reduce=1' >> /root/$job_fname"
		fi

		vm_exec $vm_num cat /root/$job_fname

		if $run_server_mode; then
+4 −1
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ wwpn_prefix="naa.5001405bc6498"
packed_ring=false

fio_iterations=1
fio_gtod=""
precond_fio_bin=$CONFIG_FIO_SOURCE_DIR/fio
disk_map=""

@@ -48,6 +49,7 @@ function usage() {
	echo "                            of binary is recommended."
	echo "    --fio-jobs=PATH         Comma separated list of fio config files to use for test."
	echo "    --fio-iterations=INT    Number of times to run specified workload."
	echo "    --fio-gtod-reduce       Enable fio gtod_reduce option in test."
	echo "    --vm-memory=INT         Amount of RAM memory (in MB) to pass to a single VM."
	echo "                            Default: 2048 MB"
	echo "    --vm-image=PATH         OS image to use for running the VMs."
@@ -161,6 +163,7 @@ while getopts 'xh-:' optchar; do
				fio-bin=*) fio_bin="--fio-bin=${OPTARG#*=}" ;;
				fio-jobs=*) fio_jobs="${OPTARG#*=}" ;;
				fio-iterations=*) fio_iterations="${OPTARG#*=}" ;;
				fio-gtod-reduce) fio_gtod="--gtod-reduce" ;;
				vm-memory=*) vm_memory="${OPTARG#*=}" ;;
				vm-image=*) VM_IMAGE="${OPTARG#*=}" ;;
				vm-sar-enable) vm_sar_enable=true ;;
@@ -411,7 +414,7 @@ for fio_job in ${fio_jobs//,/ }; do
	fio_log_fname="${fio_job_fname%%.*}.log"
	for i in $(seq 1 $fio_iterations); do
		echo "Running FIO iteration $i for $fio_job_fname"
		run_fio $fio_bin --hide-results --job-file="$fio_job" --out="$VHOST_DIR/fio_results" --json $fio_disks &
		run_fio $fio_bin --hide-results --job-file="$fio_job" --out="$VHOST_DIR/fio_results" --json $fio_disks $fio_gtod &
		fio_pid=$!

		if $host_sar_enable || $vm_sar_enable; then