Commit cefe9145 authored by Ben Walker's avatar Ben Walker Committed by Jim Harris
Browse files

test/vhost: Let users pass command line arguments to vhost_run



Change-Id: Ia5df6e74048ae9b4690fcfd9debf17718777c6ea
Signed-off-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/461388


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 10a0f053
Loading
Loading
Loading
Loading
+1 −25
Original line number Diff line number Diff line
@@ -120,24 +120,11 @@ function vhost_list_all()

function vhost_run()
{
	local param
	local vhost_num="$1"
	local memory=1024

	assert_number "$vhost_num"
	shift

	for param in "$@"; do
		case $param in
			--memory=*) local memory=${param#*=} ;;
			--no-pci*) local no_pci="-u" ;;
			*)
				error "Invalid parameter '$param'"
				return 1
				;;
		esac
	done

	local vhost_dir="$(get_vhost_dir $vhost_num)"
	local vhost_app="$rootdir/app/vhost/vhost"
	local vhost_log_file="$vhost_dir/vhost.log"
@@ -153,18 +140,7 @@ function vhost_run()
		return 1
	fi

	local reactor_mask="vhost_${vhost_num}_reactor_mask"
	reactor_mask="${!reactor_mask}"

	local master_core="vhost_${vhost_num}_master_core"
	master_core="${!master_core}"

	if [[ -z "$reactor_mask" ]] || [[ -z "$master_core" ]]; then
		error "Parameters vhost_${vhost_num}_reactor_mask or vhost_${vhost_num}_master_core not found in autotest.config file"
		return 1
	fi

	local cmd="$vhost_app -m $reactor_mask -p $master_core -s $memory -r $vhost_dir/rpc.sock $no_pci"
	local cmd="$vhost_app -r $vhost_dir/rpc.sock $2"

	notice "Loging to:   $vhost_log_file"
	notice "Socket:      $vhost_socket"
+4 −7
Original line number Diff line number Diff line
@@ -86,8 +86,8 @@ function migration_tc2_configure_vhost()

	# Run nvmf_tgt and two vhost instances:
	# nvmf_tgt uses core id 2 (-m 0x4)
	# First uses core id 0 (vhost_0_reactor_mask=0x1)
	# Second uses core id 1 (vhost_1_reactor_mask=0x2)
	# First uses core id 0
	# Second uses core id 1
	# This force to use VM 1 and 2.
	timing_enter start_nvmf_tgt
	notice "Running nvmf_tgt..."
@@ -102,11 +102,8 @@ function migration_tc2_configure_vhost()
	$rootdir/scripts/gen_nvme.sh --json | $rpc_nvmf load_subsystem_config
	timing_exit start_nvmf_tgt

	vhost_run 0 --memory=512 --no-pci
	# Those are global intentionally
	vhost_1_reactor_mask=0x2
	vhost_1_master_core=1
	vhost_run 1 --memory=512 --no-pci
	vhost_run 0 "-m 0x1 -s 512 -u"
	vhost_run 1 "-m 0x2 -s 512 -u"

	local rdma_ip_list=$(get_available_rdma_ips)
	local nvmf_target_ip=$(echo "$rdma_ip_list" | head -n 1)
+1 −1
Original line number Diff line number Diff line
@@ -122,7 +122,7 @@ function host1_start_vhost()

	notice "Starting vhost0 instance on local server"
	trap 'host1_cleanup_vhost; error_exit "${FUNCNAME}" "${LINENO}"' INT ERR EXIT
	vhost_run 0 --no-pci
	vhost_run 0 "-u"
	$rpc_0 construct_nvme_bdev -b Nvme0 -t rdma -f ipv4 -a $RDMA_TARGET_IP -s 4420 -n "nqn.2018-02.io.spdk:cnode1"
	$rpc_0 construct_vhost_scsi_controller $incoming_vm_ctrlr
	$rpc_0 add_vhost_scsi_lun $incoming_vm_ctrlr 0 Nvme0n1
+1 −1
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ function host_2_start_vhost()

	notice "Starting vhost 1 instance on remote server"
	trap 'host_2_cleanup_vhost; error_exit "${FUNCNAME}" "${LINENO}"' INT ERR EXIT
	vhost_run --vhost-num=1 --no-pci
	vhost_run 1 "-u"

	$rpc construct_nvme_bdev -b Nvme0 -t rdma -f ipv4 -a $RDMA_TARGET_IP -s 4420 -n "nqn.2018-02.io.spdk:cnode1"
	$rpc construct_vhost_scsi_controller $target_vm_ctrl