summaryrefslogtreecommitdiffstats
path: root/src/spdk/test/vhost/fio/fio.sh
blob: 3d8bf60929ec3fb407e39a2f0a0400d9d2e8fff2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/env bash

set -e
testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/vhost/common.sh

MALLOC_BDEV_SIZE=128
MALLOC_BLOCK_SIZE=512

vhosttestinit

#TODO: Both scsi and blk?

timing_enter vhost_fio

trap "at_app_exit; process_shm --id 0; exit 1" SIGINT SIGTERM EXIT

vhost_run vhost0 "-m 0x1"

# Create vhost scsi controller
vhost_rpc vhost0 bdev_malloc_create $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE -b Malloc0
vhost_rpc vhost0 vhost_create_scsi_controller naa.VhostScsi0.0
vhost_rpc vhost0 vhost_scsi_controller_add_target naa.VhostScsi0.0 0 "Malloc0"

# Create vhost blk controller
vhost_rpc vhost0 bdev_malloc_create $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE -b Malloc1
vhost_rpc vhost0 vhost_create_blk_controller naa.Malloc1.1 Malloc1

# Start qemu based VMs
vm_setup --os="$VM_IMAGE" --disk-type=spdk_vhost_scsi --disks="VhostScsi0" --vhost-name=vhost0 --force=0
vm_setup --os="$VM_IMAGE" --disk-type=spdk_vhost_blk --disks="Malloc1" --vhost-name=vhost0 --force=1

vm_run 0
vm_run 1

vm_wait_for_boot 300 0
vm_wait_for_boot 300 1
sleep 5

# Run the fio workload on the VM
vm_scp 0 $testdir/vhost_fio.job 127.0.0.1:/root/vhost_fio.job
vm_exec 0 "fio /root/vhost_fio.job"

vm_scp 1 $testdir/vhost_fio.job 127.0.0.1:/root/vhost_fio.job
vm_exec 1 "fio /root/vhost_fio.job"

# Shut the VM down
vm_shutdown_all

# Shut vhost down
vhost_kill vhost0

trap - SIGINT SIGTERM EXIT

vhosttestfini
timing_exit vhost_fio