summaryrefslogtreecommitdiff
path: root/include/uapi
diff options
context:
space:
mode:
authorMike Christie <michael.christie@oracle.com>2023-06-27 02:23:06 +0300
committerMichael S. Tsirkin <mst@redhat.com>2023-07-03 19:15:14 +0300
commitd74b55e6550225ad0a28f0faa590cc9f780ba392 (patch)
tree999ed6aa6fb6f9b829af3fd522b965f11a117e78 /include/uapi
parentc1ecd8e9500797748ae4f79657971955d452d69d (diff)
downloadlinux-d74b55e6550225ad0a28f0faa590cc9f780ba392.tar.xz
vhost_scsi: add support for worker ioctls
This has vhost-scsi support the worker ioctls by calling the vhost_worker_ioctl helper. With a single worker, the single thread becomes a bottlneck when trying to use 3 or more virtqueues like: fio --filename=/dev/sdb --direct=1 --rw=randrw --bs=4k \ --ioengine=libaio --iodepth=128 --numjobs=3 With the patches and doing a worker per vq, we can scale to at least 16 vCPUs/vqs (that's my system limit) with the same command fio command above with numjobs=16: fio --filename=/dev/sdb --direct=1 --rw=randrw --bs=4k \ --ioengine=libaio --iodepth=64 --numjobs=16 which gives around 2002K IOPs. Note that for testing I dropped depth to 64 above because the vhost/virt layer supports only 1024 total commands per device. And the only tuning I did was set LIO's emulate_pr to 0 to avoid LIO's PR lock in the main IO path which becomes an issue at around 12 jobs/virtqueues. Signed-off-by: Mike Christie <michael.christie@oracle.com> Message-Id: <20230626232307.97930-17-michael.christie@oracle.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include/uapi')
0 files changed, 0 insertions, 0 deletions