From: Jason Wang <jasowang@redhat.com>
To: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: mst@redhat.com, Alexander Graf <agraf@suse.de>,
qemu-devel@nongnu.org,
Christian Borntraeger <borntraeger@de.ibm.com>,
Anthony Liguori <aliguori@amazon.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PATCH V2 03/11] virito: introduce bus specific queue limit
Date: Fri, 27 Feb 2015 03:42:00 +0008 [thread overview]
Message-ID: <1425008040.3834.4@smtp.corp.redhat.com> (raw)
In-Reply-To: <20150226135717.3f5b5789.cornelia.huck@de.ibm.com>
On Thu, Feb 26, 2015 at 8:57 PM, Cornelia Huck
<cornelia.huck@de.ibm.com> wrote:
> On Thu, 26 Feb 2015 15:04:38 +0800
> Jason Wang <jasowang@redhat.com> wrote:
>
>> This patch introduces a bus specific queue limitation. It will be
>> useful for increasing the limit for one of the bus without
>> disturbing
>> other buses.
>>
>> Cc: Anthony Liguori <aliguori@amazon.com>
>> Cc: Michael S. Tsirkin <mst@redhat.com>
>> Cc: Alexander Graf <agraf@suse.de>
>> Cc: Richard Henderson <rth@twiddle.net>
>> Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
>> Cc: Christian Borntraeger <borntraeger@de.ibm.com>
>> Cc: Paolo Bonzini <pbonzini@redhat.com>
>> Signed-off-by: Jason Wang <jasowang@redhat.com>
>> ---
>> hw/net/virtio-net.c | 4 ++--
>> hw/s390x/s390-virtio-bus.c | 1 +
>> hw/s390x/virtio-ccw.c | 1 +
>> hw/scsi/virtio-scsi.c | 4 ++--
>> hw/virtio/virtio-mmio.c | 1 +
>> hw/virtio/virtio-pci.c | 1 +
>> hw/virtio/virtio.c | 52
>> +++++++++++++++++++++++++++++++-----------
>> include/hw/virtio/virtio-bus.h | 1 +
>> include/hw/virtio/virtio.h | 1 +
>> 9 files changed, 49 insertions(+), 17 deletions(-)
>>
>
>> diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
>> index ffc22e8..5a806b5 100644
>> --- a/hw/virtio/virtio.c
>> +++ b/hw/virtio/virtio.c
>> @@ -541,6 +541,14 @@ void virtio_update_irq(VirtIODevice *vdev)
>> virtio_notify_vector(vdev, VIRTIO_NO_VECTOR);
>> }
>>
>> +int virtio_get_queue_max(VirtIODevice *vdev)
>> +{
>> + BusState *qbus = qdev_get_parent_bus(DEVICE(vdev));
>> + VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
>> +
>> + return k->queue_max;
>> +}
>> +
>
> Are all callers of this in the slow path? So we don't introduce
> processing overhead.
Looks not. For overhead, do you mean one introduced by
VIRTIO_BUS_GET_CLASS()? Not sure how much it will affact but we've
already used something like this in the datapath, e.g
virtio_notify_vector().
>
>
>> void virtio_set_status(VirtIODevice *vdev, uint8_t val)
>> {
>> VirtioDeviceClass *k = VIRTIO_DEVICE_GET_CLASS(vdev);
>
> (...)
>
>
>> @@ -777,27 +790,35 @@ void virtio_queue_notify(VirtIODevice *vdev,
>> int n)
>>
>> uint16_t virtio_queue_vector(VirtIODevice *vdev, int n)
>> {
>> - return n < VIRTIO_PCI_QUEUE_MAX ? vdev->vq[n].vector :
>> + BusState *qbus = qdev_get_parent_bus(DEVICE(vdev));
>> + VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
>> +
>> + return n < k->queue_max ? vdev->vq[n].vector :
>
> Any reason you're not using the newly introduced
> virtio_get_queue_max()?
Yes, better use virtio_get_queue_max().
>
>
>> VIRTIO_NO_VECTOR;
>> }
>
> Do we need to care about migration if the target supports a different
> number of queues?
See patch 9, if a target support a different number of queues, it can
patch the k->queue_max during its initialization.
>
>
> I'm also not sure whether it would be sufficient to allow transports
> to
> limit queues to a lower number than the core supports. We'd basically
> only need to block off queue creation in the individual transports, I
> think.
Not sure I understand the issue correctly, with this series. There's
not core limitation but only transport limitation.
next prev parent reply other threads:[~2015-02-27 3:36 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-26 7:04 [Qemu-devel] [PATCH V2 00/11] Support more virtio queues Jason Wang
2015-02-26 7:04 ` [Qemu-devel] [PATCH V2 01/11] virtio-net: validate backend queue numbers against bus limitation Jason Wang
2015-02-26 7:04 ` [Qemu-devel] [PATCH V2 02/11] virtio-net: fix the upper bound when trying to delete queues Jason Wang
2015-02-26 7:04 ` [Qemu-devel] [PATCH V2 03/11] virito: introduce bus specific queue limit Jason Wang
2015-02-26 10:19 ` Michael S. Tsirkin
2015-02-27 3:04 ` Jason Wang
2015-02-26 12:57 ` Cornelia Huck
2015-02-27 3:34 ` Jason Wang [this message]
2015-02-27 9:34 ` Cornelia Huck
2015-02-28 3:17 ` Jason Wang
2015-02-26 7:04 ` [Qemu-devel] [PATCH V2 04/11] virtio-ccw: introduce ccw " Jason Wang
2015-02-26 13:02 ` Cornelia Huck
2015-02-27 3:38 ` Jason Wang
2015-02-27 9:41 ` Cornelia Huck
2015-02-28 3:30 ` Jason Wang
2015-02-26 7:04 ` [Qemu-devel] [PATCH V2 05/11] virtio-serial-bus: switch to bus " Jason Wang
2015-02-26 7:04 ` [Qemu-devel] [PATCH V2 06/11] virtio-s390: " Jason Wang
2015-02-26 13:05 ` Cornelia Huck
2015-02-27 6:34 ` Jason Wang
2015-02-27 9:49 ` Cornelia Huck
2015-02-28 3:31 ` Jason Wang
2015-03-02 8:51 ` Cornelia Huck
2015-02-26 7:04 ` [Qemu-devel] [PATCH V2 07/11] virtio-mmio: " Jason Wang
2015-02-26 7:04 ` [Qemu-devel] [PATCH V2 08/11] virtio-pci: switch to use " Jason Wang
2015-02-26 10:20 ` Michael S. Tsirkin
2015-02-27 3:18 ` Jason Wang
2015-02-26 7:04 ` [Qemu-devel] [PATCH V2 09/11] virtio-pci: increase the maximum number of virtqueues to 513 Jason Wang
2015-02-26 7:04 ` [Qemu-devel] [PATCH V2 10/11] pci: remove hard-coded bar size in msix_init_exclusive_bar() Jason Wang
2015-02-26 7:04 ` [Qemu-devel] [PATCH V2 11/11] virtio-pci: introduce auto_msix_bar_size property Jason Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1425008040.3834.4@smtp.corp.redhat.com \
--to=jasowang@redhat.com \
--cc=agraf@suse.de \
--cc=aliguori@amazon.com \
--cc=borntraeger@de.ibm.com \
--cc=cornelia.huck@de.ibm.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.