All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: qemu-devel@nongnu.org,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Jason Wang" <jasowang@redhat.com>,
	"Viresh Kumar" <viresh.kumar@linaro.org>,
	"Raphael Norwitz" <raphael.norwitz@nutanix.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	qemu-block@nongnu.org, "Eric Blake" <eblake@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
	"Kevin Wolf" <kwolf@redhat.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Mathieu Poirier" <mathieu.poirier@linaro.org>,
	"Hanna Reitz" <hreitz@redhat.com>,
	"Erik Schilling" <erik.schilling@linaro.org>,
	"Gonglei (Arei)" <arei.gonglei@huawei.com>,
	"Eduardo Habkost" <eduardo@habkost.net>,
	"Fam Zheng" <fam@euphon.net>,
	virtio-fs@redhat.com, "Stefan Hajnoczi" <stefanha@redhat.com>
Subject: Re: [Virtio-fs] [PATCH v3 07/20] virtio: add vhost-user-base and a generic vhost-user-device
Date: Wed, 6 Sep 2023 11:21:36 +0200	[thread overview]
Message-ID: <ZPhEoP8/PYUQG8Ri@fedora> (raw)
In-Reply-To: <87ledkh7q7.fsf@linaro.org>

On Tue, Sep 05, 2023 at 06:01:56PM +0100, Alex Bennée wrote:
> 
> Matias Ezequiel Vara Larsen <mvaralar@redhat.com> writes:
> 
> > On Mon, Jul 10, 2023 at 04:35:09PM +0100, Alex Bennée wrote:
> >> In theory we shouldn't need to repeat so much boilerplate to support
> >> vhost-user backends. This provides a generic vhost-user-base QOM
> >> object and a derived vhost-user-device for which the user needs to
> >> provide the few bits of information that aren't currently provided by
> >> the vhost-user protocol. This should provide a baseline implementation
> >> from which the other vhost-user stub can specialise.
> >> 
> >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> >> 
> >> ---
> >> v2
> >>   - split into vub and vud
> <snip>
> >> +
> >> +    /*
> >> +     * Disable guest notifiers, by default all notifications will be via the
> >> +     * asynchronous vhost-user socket.
> >> +     */
> >> +    vdev->use_guest_notifier_mask = false;
> >> +
> >> +    /* Allocate queues */
> >> +    vub->vqs = g_ptr_array_sized_new(vub->num_vqs);
> >> +    for (int i = 0; i < vub->num_vqs; i++) {
> >> +        g_ptr_array_add(vub->vqs,
> >> +                        virtio_add_queue(vdev, 4, vub_handle_output));
> >> +    }
> >> +
> >
> > Hello Alex, apologies if someone already asked this. If I understand
> > correctly, the second parameter of virtio_add_queue() is the len of the
> > queue. Why have you chosen "4" as its value? Shall qemu query the len of
> > the queue from the vhost-user device instead?
> 
> Hmm yeah that is inherited from the virtio-rng backend which has a
> pretty short queue. I don't think it is intrinsic to the device
> implementation (although I guess that depends if a device will have
> multiple requests in flight).
> 
> I propose making is some useful ^2 (like 64) and adding a config knob to
> increase it if needed.
> 

LGTM.  

Matias


WARNING: multiple messages have this Message-ID (diff)
From: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: qemu-devel@nongnu.org,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Jason Wang" <jasowang@redhat.com>,
	"Viresh Kumar" <viresh.kumar@linaro.org>,
	"Raphael Norwitz" <raphael.norwitz@nutanix.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	qemu-block@nongnu.org, "Eric Blake" <eblake@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
	"Kevin Wolf" <kwolf@redhat.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Mathieu Poirier" <mathieu.poirier@linaro.org>,
	"Hanna Reitz" <hreitz@redhat.com>,
	"Erik Schilling" <erik.schilling@linaro.org>,
	"Gonglei (Arei)" <arei.gonglei@huawei.com>,
	"Eduardo Habkost" <eduardo@habkost.net>,
	"Fam Zheng" <fam@euphon.net>,
	virtio-fs@redhat.com, "Stefan Hajnoczi" <stefanha@redhat.com>
Subject: Re: [PATCH v3 07/20] virtio: add vhost-user-base and a generic vhost-user-device
Date: Wed, 6 Sep 2023 11:21:36 +0200	[thread overview]
Message-ID: <ZPhEoP8/PYUQG8Ri@fedora> (raw)
In-Reply-To: <87ledkh7q7.fsf@linaro.org>

On Tue, Sep 05, 2023 at 06:01:56PM +0100, Alex Bennée wrote:
> 
> Matias Ezequiel Vara Larsen <mvaralar@redhat.com> writes:
> 
> > On Mon, Jul 10, 2023 at 04:35:09PM +0100, Alex Bennée wrote:
> >> In theory we shouldn't need to repeat so much boilerplate to support
> >> vhost-user backends. This provides a generic vhost-user-base QOM
> >> object and a derived vhost-user-device for which the user needs to
> >> provide the few bits of information that aren't currently provided by
> >> the vhost-user protocol. This should provide a baseline implementation
> >> from which the other vhost-user stub can specialise.
> >> 
> >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> >> 
> >> ---
> >> v2
> >>   - split into vub and vud
> <snip>
> >> +
> >> +    /*
> >> +     * Disable guest notifiers, by default all notifications will be via the
> >> +     * asynchronous vhost-user socket.
> >> +     */
> >> +    vdev->use_guest_notifier_mask = false;
> >> +
> >> +    /* Allocate queues */
> >> +    vub->vqs = g_ptr_array_sized_new(vub->num_vqs);
> >> +    for (int i = 0; i < vub->num_vqs; i++) {
> >> +        g_ptr_array_add(vub->vqs,
> >> +                        virtio_add_queue(vdev, 4, vub_handle_output));
> >> +    }
> >> +
> >
> > Hello Alex, apologies if someone already asked this. If I understand
> > correctly, the second parameter of virtio_add_queue() is the len of the
> > queue. Why have you chosen "4" as its value? Shall qemu query the len of
> > the queue from the vhost-user device instead?
> 
> Hmm yeah that is inherited from the virtio-rng backend which has a
> pretty short queue. I don't think it is intrinsic to the device
> implementation (although I guess that depends if a device will have
> multiple requests in flight).
> 
> I propose making is some useful ^2 (like 64) and adding a config knob to
> increase it if needed.
> 

LGTM.  

Matias



  reply	other threads:[~2023-09-06  9:21 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-10 15:35 [Virtio-fs] [PATCH v3 00/20] virtio: add vhost-user-generic, reduce c&p and support standalone Alex Bennée
2023-07-10 15:35 ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [PATCH v3 01/20] include: attempt to document device_class_set_props Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [PATCH v3 02/20] include/hw: document the device_class_set_parent_* fns Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [PATCH v3 03/20] hw/virtio: fix typo in VIRTIO_CONFIG_IRQ_IDX comments Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 21:56   ` [Virtio-fs] " Philippe Mathieu-Daudé
2023-07-10 21:56     ` Philippe Mathieu-Daudé
2023-07-10 15:35 ` [Virtio-fs] [PATCH v3 04/20] include/hw/virtio: document virtio_notify_config Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [PATCH v3 05/20] include/hw/virtio: add kerneldoc for virtio_init Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 21:58   ` [Virtio-fs] " Philippe Mathieu-Daudé
2023-07-10 21:58     ` Philippe Mathieu-Daudé
2023-07-10 15:35 ` [Virtio-fs] [PATCH v3 06/20] include/hw/virtio: document some more usage of notifiers Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [PATCH v3 07/20] virtio: add vhost-user-base and a generic vhost-user-device Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 20:15   ` [Virtio-fs] " Michael S. Tsirkin
2023-07-10 20:15     ` Michael S. Tsirkin
2023-09-05 14:19   ` [Virtio-fs] " Matias Ezequiel Vara Larsen
2023-09-05 14:19     ` Matias Ezequiel Vara Larsen
2023-09-05 17:01     ` [Virtio-fs] " Alex Bennée
2023-09-05 17:01       ` Alex Bennée
2023-09-06  9:21       ` Matias Ezequiel Vara Larsen [this message]
2023-09-06  9:21         ` Matias Ezequiel Vara Larsen
2023-07-10 15:35 ` [Virtio-fs] [PATCH v3 08/20] virtio: add PCI stub for vhost-user-device Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [PATCH v3 09/20] hw/virtio: derive vhost-user-rng from vhost-user-device Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [PATCH v3 10/20] hw/virtio: add config support to vhost-user-device Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 19:58   ` [Virtio-fs] " Michael S. Tsirkin
2023-07-10 19:58     ` Michael S. Tsirkin
2023-08-31 14:23     ` [Virtio-fs] " Albert Esteve
2023-08-31 14:23       ` Albert Esteve
2023-08-31 15:47       ` [Virtio-fs] " Alex Bennée
2023-08-31 15:47         ` Alex Bennée
2023-09-01  5:56         ` [Virtio-fs] " Erik Schilling
2023-09-01  5:56           ` Erik Schilling
2023-09-01  8:34         ` [Virtio-fs] " Albert Esteve
2023-09-01  8:34           ` Albert Esteve
2023-07-10 15:35 ` [Virtio-fs] [PATCH v3 11/20] hw/virtio: derive vhost-user-gpio from vhost-user-device Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [PATCH v3 12/20] hw/virtio: derive vhost-user-i2c from vhost-user-base Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [RFC PATCH v3 13/20] docs/system: add a basic enumeration of vhost-user devices Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [RFC PATCH v3 14/20] docs/interop: define STANDALONE protocol feature for vhost-user Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [RFC PATCH v3 15/20] hw/virtio: move vhost_user_init earlier Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [RFC PATCH v3 16/20] hw/virtio: move virtq initialisation into internal helper Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [RFC PATCH v3 17/20] hw/virtio: push down allocation responsibility for vhost_dev->vqs Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [RFC PATCH v3 18/20] hw/virtio: validate F_STANDALONE also supports other protocol features Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [RFC PATCH v3 19/20] hw/virtio: probe backend for specs if it supports it Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-07-10 15:35 ` [Virtio-fs] [RFC PATCH v3 20/20] hw/virtio: allow vhost-user-device to be driven by backend Alex Bennée
2023-07-10 15:35   ` Alex Bennée
2023-09-01 10:00   ` [Virtio-fs] " Albert Esteve
2023-09-01 10:00     ` Albert Esteve

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=ZPhEoP8/PYUQG8Ri@fedora \
    --to=mvaralar@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=arei.gonglei@huawei.com \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=eblake@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=erik.schilling@linaro.org \
    --cc=fam@euphon.net \
    --cc=hreitz@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=mathieu.poirier@linaro.org \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=raphael.norwitz@nutanix.com \
    --cc=stefanha@redhat.com \
    --cc=viresh.kumar@linaro.org \
    --cc=virtio-fs@redhat.com \
    /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.