Thread (34 messages) 34 messages, 7 authors, 2012-09-06

Re: [PATCH 5/5] virtio-scsi: introduce multiqueue support

From: Paolo Bonzini <pbonzini@redhat.com>
Date: 2012-09-04 14:56:05
Also in: linux-scsi, lkml, virtualization

Il 04/09/2012 16:47, Michael S. Tsirkin ha scritto:
quoted
quoted
 static void virtscsi_init_vq(struct virtio_scsi_vq *virtscsi_vq,
-			     struct virtqueue *vq)
+			     struct virtqueue *vq, bool affinity)
 {
 	spin_lock_init(&virtscsi_vq->vq_lock);
 	virtscsi_vq->vq = vq;
+	if (affinity)
+		virtqueue_set_affinity(vq, virtqueue_get_queue_index(vq) -
+				       VIRTIO_SCSI_VQ_BASE);
 }
 
This means in practice if you have less virtqueues than CPUs,
things are not going to work well, will they?
Not particularly.  It could be better or worse than single queue
depending on the workload.
Any idea what to do?
Two possibilities:

1) Add a stride argument to virtqueue_set_affinity, and make it equal to
the number of queues.

2) Make multiqueue the default in QEMU, and make the default number of
queues equal to the number of VCPUs.

I was going for (2).

Paolo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help