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: Karol Latecki <karol.latecki@intel.com> Change-Id: I0511a5fdc09bb20b5a769ad55f2306b87e5d2dde Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3502 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
c3dc7fb5f2
commit
757eddeb59
@ -1049,6 +1049,7 @@ function run_fio() {
|
|||||||
local run_plugin_mode=false
|
local run_plugin_mode=false
|
||||||
local fio_start_cmd
|
local fio_start_cmd
|
||||||
local fio_output_format="normal"
|
local fio_output_format="normal"
|
||||||
|
local fio_gtod_reduce=false
|
||||||
local wait_for_fio=true
|
local wait_for_fio=true
|
||||||
|
|
||||||
for arg in "$@"; do
|
for arg in "$@"; do
|
||||||
@ -1069,6 +1070,7 @@ function run_fio() {
|
|||||||
--json) fio_output_format="json" ;;
|
--json) fio_output_format="json" ;;
|
||||||
--hide-results) hide_results=true ;;
|
--hide-results) hide_results=true ;;
|
||||||
--no-wait-for-fio) wait_for_fio=false ;;
|
--no-wait-for-fio) wait_for_fio=false ;;
|
||||||
|
--gtod-reduce) fio_gtod_reduce=true ;;
|
||||||
*)
|
*)
|
||||||
error "Invalid argument '$arg'"
|
error "Invalid argument '$arg'"
|
||||||
return 1
|
return 1
|
||||||
@ -1103,6 +1105,11 @@ function run_fio() {
|
|||||||
local vmdisks=${vm#*:}
|
local vmdisks=${vm#*:}
|
||||||
|
|
||||||
sed "s@filename=@filename=$vmdisks@" $job_file | vm_exec $vm_num "cat > /root/$job_fname"
|
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
|
vm_exec $vm_num cat /root/$job_fname
|
||||||
|
|
||||||
if $run_server_mode; then
|
if $run_server_mode; then
|
||||||
|
@ -25,6 +25,7 @@ wwpn_prefix="naa.5001405bc6498"
|
|||||||
packed_ring=false
|
packed_ring=false
|
||||||
|
|
||||||
fio_iterations=1
|
fio_iterations=1
|
||||||
|
fio_gtod=""
|
||||||
precond_fio_bin=$CONFIG_FIO_SOURCE_DIR/fio
|
precond_fio_bin=$CONFIG_FIO_SOURCE_DIR/fio
|
||||||
disk_map=""
|
disk_map=""
|
||||||
|
|
||||||
@ -48,6 +49,7 @@ function usage() {
|
|||||||
echo " of binary is recommended."
|
echo " of binary is recommended."
|
||||||
echo " --fio-jobs=PATH Comma separated list of fio config files to use for test."
|
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-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 " --vm-memory=INT Amount of RAM memory (in MB) to pass to a single VM."
|
||||||
echo " Default: 2048 MB"
|
echo " Default: 2048 MB"
|
||||||
echo " --vm-image=PATH OS image to use for running the VMs."
|
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-bin=*) fio_bin="--fio-bin=${OPTARG#*=}" ;;
|
||||||
fio-jobs=*) fio_jobs="${OPTARG#*=}" ;;
|
fio-jobs=*) fio_jobs="${OPTARG#*=}" ;;
|
||||||
fio-iterations=*) fio_iterations="${OPTARG#*=}" ;;
|
fio-iterations=*) fio_iterations="${OPTARG#*=}" ;;
|
||||||
|
fio-gtod-reduce) fio_gtod="--gtod-reduce" ;;
|
||||||
vm-memory=*) vm_memory="${OPTARG#*=}" ;;
|
vm-memory=*) vm_memory="${OPTARG#*=}" ;;
|
||||||
vm-image=*) VM_IMAGE="${OPTARG#*=}" ;;
|
vm-image=*) VM_IMAGE="${OPTARG#*=}" ;;
|
||||||
vm-sar-enable) vm_sar_enable=true ;;
|
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"
|
fio_log_fname="${fio_job_fname%%.*}.log"
|
||||||
for i in $(seq 1 $fio_iterations); do
|
for i in $(seq 1 $fio_iterations); do
|
||||||
echo "Running FIO iteration $i for $fio_job_fname"
|
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=$!
|
fio_pid=$!
|
||||||
|
|
||||||
if $host_sar_enable || $vm_sar_enable; then
|
if $host_sar_enable || $vm_sar_enable; then
|
||||||
|
Loading…
Reference in New Issue
Block a user