summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Christie <michael.christie@oracle.com>2022-07-07 22:05:24 -0500
committerMichael S. Tsirkin <mst@redhat.com>2022-08-11 04:26:08 -0400
commit5a4b0420b28fed7e8df81ac7e3b53834142053dd (patch)
tree8e4f9573191831afc8d39978b099c0f41a833309
parent8fcd20c307042b0bb4fd3aee7fc23c94080306ad (diff)
downloadlinux-5a4b0420b28fed7e8df81ac7e3b53834142053dd.tar.bz2
vhost-scsi: Fix max number of virtqueues
Qemu takes it's num_queues limit then adds the fixed queues (control and event) to the total it will request from the kernel. So when a user requests 128 (or qemu does it's num_queues calculation based on vCPUS and other system limits), we hit errors due to userspace trying to setup 130 queues when vhost-scsi has a hard coded limit of 128. This has vhost-scsi adjust it's max so we can do a total of 130 virtqueues (128 IO and 2 fixed). For the case where the user has 128 vCPUs the guest OS can then nicely map each IO virtqueue to a vCPU and not have the odd case where 2 vCPUs share a virtqueue. Signed-off-by: Mike Christie <michael.christie@oracle.com> Message-Id: <20220708030525.5065-2-michael.christie@oracle.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Jason Wang <jasowang@redhat.com>
-rw-r--r--drivers/vhost/scsi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/vhost/scsi.c b/drivers/vhost/scsi.c
index ffd9e6c2ffc1..8d6b4eef554d 100644
--- a/drivers/vhost/scsi.c
+++ b/drivers/vhost/scsi.c
@@ -159,7 +159,7 @@ enum {
};
#define VHOST_SCSI_MAX_TARGET 256
-#define VHOST_SCSI_MAX_VQ 128
+#define VHOST_SCSI_MAX_VQ 128 + VHOST_SCSI_VQ_IO
#define VHOST_SCSI_MAX_EVENT 128
struct vhost_scsi_virtqueue {