test/vhost: run controllers on different cores in lvol test
Add possibility to attach lvol bdevs to controllers running on varying CPU cores Change-Id: I8d9eec854b2d0ee6c3b8863cefe30d24de138d40 Signed-off-by: Karol Latecki <karol.latecki@intel.com> Reviewed-on: https://review.gerrithub.io/380441 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
ba8515c61c
commit
9e1d2b8967
74
test/vhost/lvol/autotest.config
Normal file
74
test/vhost/lvol/autotest.config
Normal file
@ -0,0 +1,74 @@
|
||||
vhost_reactor_mask=0xfffffffff
|
||||
vhost_master_core=0
|
||||
|
||||
VM_0_qemu_mask=0x2
|
||||
VM_0_qemu_numa_node=0
|
||||
|
||||
VM_1_qemu_mask=0x4
|
||||
VM_1_qemu_numa_node=0
|
||||
|
||||
VM_2_qemu_mask=0x8
|
||||
VM_2_qemu_numa_node=0
|
||||
|
||||
VM_3_qemu_mask=0x10
|
||||
VM_3_qemu_numa_node=0
|
||||
|
||||
VM_4_qemu_mask=0x20
|
||||
VM_4_qemu_numa_node=0
|
||||
|
||||
VM_5_qemu_mask=0x40
|
||||
VM_5_qemu_numa_node=0
|
||||
|
||||
VM_6_qemu_mask=0x80
|
||||
VM_6_qemu_numa_node=0
|
||||
|
||||
VM_7_qemu_mask=0x100
|
||||
VM_7_qemu_numa_node=0
|
||||
|
||||
VM_8_qemu_mask=0x200
|
||||
VM_8_qemu_numa_node=0
|
||||
|
||||
VM_9_qemu_mask=0x400
|
||||
VM_9_qemu_numa_node=0
|
||||
|
||||
VM_10_qemu_mask=0x800
|
||||
VM_10_qemu_numa_node=0
|
||||
|
||||
VM_11_qemu_mask=0x1000
|
||||
VM_11_qemu_numa_node=0
|
||||
|
||||
VM_12_qemu_mask=0x40000
|
||||
VM_12_qemu_numa_node=1
|
||||
|
||||
VM_13_qemu_mask=0x80000
|
||||
VM_13_qemu_numa_node=1
|
||||
|
||||
VM_14_qemu_mask=0x100000
|
||||
VM_14_qemu_numa_node=1
|
||||
|
||||
VM_15_qemu_mask=0x200000
|
||||
VM_15_qemu_numa_node=1
|
||||
|
||||
VM_16_qemu_mask=0x400000
|
||||
VM_16_qemu_numa_node=1
|
||||
|
||||
VM_17_qemu_mask=0x800000
|
||||
VM_17_qemu_numa_node=1
|
||||
|
||||
VM_18_qemu_mask=0x1000000
|
||||
VM_18_qemu_numa_node=1
|
||||
|
||||
VM_19_qemu_mask=0x2000000
|
||||
VM_19_qemu_numa_node=1
|
||||
|
||||
VM_20_qemu_mask=0x4000000
|
||||
VM_20_qemu_numa_node=1
|
||||
|
||||
VM_21_qemu_mask=0x8000000
|
||||
VM_21_qemu_numa_node=1
|
||||
|
||||
VM_22_qemu_mask=0x10000000
|
||||
VM_22_qemu_numa_node=1
|
||||
|
||||
VM_23_qemu_mask=0x20000000
|
||||
VM_23_qemu_numa_node=1
|
@ -14,6 +14,7 @@ max_disks=""
|
||||
ctrl_type="vhost_scsi"
|
||||
use_fs=false
|
||||
nested_lvol=false
|
||||
distribute_cores=false
|
||||
base_bdev_size=10000
|
||||
nest_bdev_size=""
|
||||
|
||||
@ -39,6 +40,9 @@ function usage()
|
||||
echo " (NVMe->lvol_store->lvol_bdev->lvol_store->lvol_bdev)"
|
||||
echo " Default: False"
|
||||
echo "-x set -x for script debug"
|
||||
echo " --distribute-cores Use custom config file and run vhost controllers"
|
||||
echo " on different CPU cores instead of single core."
|
||||
echo " Default: False"
|
||||
exit 0
|
||||
}
|
||||
|
||||
@ -52,6 +56,7 @@ while getopts 'xh-:' optchar; do
|
||||
max-disks=*) max_disks="${OPTARG#*=}" ;;
|
||||
ctrl-type=*) ctrl_type="${OPTARG#*=}" ;;
|
||||
nested-lvol) nested_lvol=true ;;
|
||||
distribute-cores) distribute_cores=true ;;
|
||||
*) usage $0 "Invalid argument '$OPTARG'" ;;
|
||||
esac
|
||||
;;
|
||||
@ -75,7 +80,20 @@ is lower than number of requested disks for test ($max_disks)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
trap 'error_exit "${FUNCNAME}" "${LINENO}"' ERR
|
||||
if $distribute_cores; then
|
||||
cp $COMMON_DIR/autotest.config $COMMON_DIR/autotest.config.bak
|
||||
cp $BASE_DIR/autotest.config $COMMON_DIR/autotest.config
|
||||
. $COMMON_DIR/common.sh
|
||||
fi
|
||||
|
||||
function restore_acfg()
|
||||
{
|
||||
if $distribute_cores; then
|
||||
mv $COMMON_DIR/autotest.config.bak $COMMON_DIR/autotest.config
|
||||
fi
|
||||
}
|
||||
|
||||
trap 'restore_acfg; error_exit "${FUNCNAME}" "${LINENO}"' ERR
|
||||
|
||||
vm_kill_all
|
||||
|
||||
@ -123,7 +141,7 @@ fi
|
||||
# For each VM create one lvol bdev on each 'normal' and nested lvol store
|
||||
for (( i=0; i<$vm_count; i++)); do
|
||||
bdevs=()
|
||||
echo "INFO: Creating lvol bdevs for VM $j"
|
||||
echo "INFO: Creating lvol bdevs for VM $i"
|
||||
for lvol_store in "${lvol_stores[@]}"; do
|
||||
lb_guid=$($rpc_py construct_lvol_bdev $lvol_store 10000)
|
||||
lvol_bdevs+=("$lb_guid")
|
||||
@ -149,8 +167,13 @@ for (( i=0; i<$vm_count; i++)); do
|
||||
setup_cmd+=" --os=/home/sys_sgsw/vhost_vm_image.qcow2"
|
||||
|
||||
# Create single SCSI controller or multiple BLK controllers for this VM
|
||||
if $distribute_cores; then
|
||||
mask="VM_${i}_qemu_mask"
|
||||
mask_arg="--cpumask ${!mask}"
|
||||
fi
|
||||
|
||||
if [[ "$ctrl_type" == "vhost_scsi" ]]; then
|
||||
$rpc_py construct_vhost_scsi_controller naa.0.$i
|
||||
$rpc_py construct_vhost_scsi_controller naa.0.$i $mask_arg
|
||||
for (( j=0; j<${#bdevs[@]}; j++)); do
|
||||
$rpc_py add_vhost_scsi_lun naa.0.$i $j ${bdevs[$j]}
|
||||
done
|
||||
@ -158,7 +181,7 @@ for (( i=0; i<$vm_count; i++)); do
|
||||
elif [[ "$ctrl_type" == "vhost_blk" ]]; then
|
||||
disk=""
|
||||
for (( j=0; j<${#bdevs[@]}; j++)); do
|
||||
$rpc_py construct_vhost_blk_controller naa.$j.$i ${bdevs[$j]}
|
||||
$rpc_py construct_vhost_blk_controller naa.$j.$i ${bdevs[$j]} $mask_arg
|
||||
disk+="${j}_size_1500M:"
|
||||
done
|
||||
disk="${disk::-1}"
|
||||
@ -266,3 +289,4 @@ $rpc_py get_luns
|
||||
|
||||
echo "INFO: Shutting down SPDK vhost app..."
|
||||
spdk_vhost_kill
|
||||
restore_acfg
|
||||
|
Loading…
x
Reference in New Issue
Block a user