xref: /spdk/test/vhost/fio/fio.sh (revision 1e3d25b901a6b9d2dce4999e2ecbc02f98d79f05)
1#!/usr/bin/env bash
2#  SPDX-License-Identifier: BSD-3-Clause
3#  Copyright (C) 2019 Intel Corporation
4#  All rights reserved.
5#
6set -e
7testdir=$(readlink -f $(dirname $0))
8rootdir=$(readlink -f $testdir/../../..)
9source $rootdir/test/common/autotest_common.sh
10source $rootdir/test/vhost/common.sh
11
12MALLOC_BDEV_SIZE=128
13MALLOC_BLOCK_SIZE=512
14
15vhosttestinit
16
17#TODO: Both scsi and blk?
18
19timing_enter vhost_fio
20
21trap "at_app_exit; process_shm --id 0; exit 1" SIGINT SIGTERM EXIT
22
23vhost_run -n vhost0 -- -m 0x1
24
25# Create vhost scsi controller
26vhost_rpc vhost0 bdev_malloc_create $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE -b Malloc0
27vhost_rpc vhost0 vhost_create_scsi_controller naa.VhostScsi0.0
28vhost_rpc vhost0 vhost_scsi_controller_add_target naa.VhostScsi0.0 0 "Malloc0"
29
30# Create vhost blk controller
31vhost_rpc vhost0 bdev_malloc_create $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE -b Malloc1
32vhost_rpc vhost0 vhost_create_blk_controller naa.Malloc1.1 Malloc1
33
34# Start qemu based VMs
35vm_setup --os="$VM_IMAGE" --disk-type=spdk_vhost_scsi --disks="VhostScsi0" --vhost-name=vhost0 --force=0
36vm_setup --os="$VM_IMAGE" --disk-type=spdk_vhost_blk --disks="Malloc1" --vhost-name=vhost0 --force=1
37
38vm_run 0
39vm_run 1
40
41vm_wait_for_boot 300 0
42vm_wait_for_boot 300 1
43sleep 5
44
45# Run the fio workload on the VM
46vm_scp 0 $testdir/vhost_fio.job 127.0.0.1:/root/vhost_fio.job
47vm_exec 0 "fio /root/vhost_fio.job"
48
49vm_scp 1 $testdir/vhost_fio.job 127.0.0.1:/root/vhost_fio.job
50vm_exec 1 "fio /root/vhost_fio.job"
51
52# Shut the VM down
53vm_shutdown_all
54
55# Shut vhost down
56vhost_kill vhost0
57
58trap - SIGINT SIGTERM EXIT
59
60vhosttestfini
61timing_exit vhost_fio
62