On Fri, Feb 6, 2015 at 7:54 PM, Cornelia Huck
<cornelia.h...@de.ibm.com> wrote:
On Fri, 6 Feb 2015 15:54:09 +0800
Jason Wang <jasow...@redhat.com> wrote:
VIRTIO_PCI_QUEUE_MAX was not specific to pci, so rename it to
VIRTIO_QUEUE_MAX.
Cc: Amit Shah <amit.s...@redhat.com>
Cc: Anthony Liguori <aligu...@amazon.com>
Cc: Michael S. Tsirkin <m...@redhat.com>
Cc: Alexander Graf <ag...@suse.de>
Cc: Richard Henderson <r...@twiddle.net>
Cc: Cornelia Huck <cornelia.h...@de.ibm.com>
Cc: Christian Borntraeger <borntrae...@de.ibm.com>
Cc: Paolo Bonzini <pbonz...@redhat.com>
Signed-off-by: Jason Wang <jasow...@redhat.com>
---
hw/char/virtio-serial-bus.c | 2 +-
hw/s390x/s390-virtio-bus.c | 4 ++--
hw/s390x/s390-virtio-ccw.c | 2 +-
hw/s390x/virtio-ccw.c | 10 +++++-----
hw/scsi/virtio-scsi.c | 4 ++--
hw/virtio/virtio-mmio.c | 4 ++--
hw/virtio/virtio-pci.c | 10 +++++-----
hw/virtio/virtio.c | 26 +++++++++++++-------------
include/hw/s390x/s390_flic.h | 2 +-
include/hw/virtio/virtio.h | 2 +-
10 files changed, 33 insertions(+), 33 deletions(-)
While I certainly agree with the patch on its own, I read through your
complete patch series as well and I have some additional comments.
Your patch series bumps up the maximum number of virtqueues for all
transports, but I think we need to consider carefully what this means
for each transport.
For virtio-ccw, for example, we'll run into trouble when the guest
uses
classic queue indicators: These are limited to 64 per device (as I
assumed 64 virtqueues per device initially and they fit quite nicely
into a 64 bit integer). If the guest uses adapter interrupts with
two-stage indicators, we should probably be fine. The guest will
hopefully care about that, but we need to describe failure modes for
this in the spec.
For s390-virtio, I frankly have no idea what large numbers of queues
will do :) Maybe we just run out of space for devices much earlier.
I see the issue, thanks. So looks like we need a transport specific
limitation for this.
You seem to need some changes for this to work for virtio-pci as well,
don't you?
PCI allows at most 2048 MSI-X entires, and also allow one entry to be
shared by several virtqueues which looks fine for even thousands of
virtqueues. If there's a architecture limitation (e.g x86 only allow
240 interrupt vectors for MSI-X), the rest work was in the driver. If
not, probably no much work needs to be done for PCI.
Thanks