qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 0/7] virtio: enable VIRTIO_F_RING_PACKED for all devices


From: Michael S. Tsirkin
Subject: Re: [PATCH v2 0/7] virtio: enable VIRTIO_F_RING_PACKED for all devices
Date: Wed, 10 Jun 2020 01:02:57 -0400

On Tue, Jun 09, 2020 at 06:02:11PM +0100, Stefan Hajnoczi wrote:
> v2:
>  * Add libvhost-user VHOST_USER_GET_FEATURES patch to start reporting feature
>    bits correctly (already reviewed by Marc-André Lureau)
>  * Rephrase doc comments and drop vhost_get_default_features() [Jason]
>  * Simplify hw/core/machine.c compat props by setting packed=off on the
>    virtio-dev base class [Jason]
> 
> The VIRTIO 1.1 packed virtqueue layout improves performance and guest driver
> support has been available since Linux v5.0. virtio-blk benchmarks show it is
> beneficial for non-net devices too so I wrote patches to enable it for all
> devices.

It's exciting that it's widely useful!
Could you include some numbers please though?
No need to be exhaustive ...

> It turned out to be trickier than I expected because vhost feature negotiation
> is currently not ready for new virtqueue feature bits like
> VIRTIO_F_RING_PACKED.
> 
> Patch 1 fixes libqos. Patch 2 fixes libvhost-user. Patch 3 adds clarifications
> to the vhost-user specification. Patches 4-6 solve the vhost feature issues in
> QEMU. Finally, Patch 6 enables packed virtqueues.
> 
> Stefan Hajnoczi (7):
>   tests/libqos: mask out VIRTIO_F_RING_PACKED for now
>   libvhost-user: advertise vring features
>   docs: document non-net VHOST_USER_GET_FEATURES behavior
>   vhost: involve device backends in feature negotiation
>   vhost-user-blk: add VIRTIO_F_RING_PACKED feature bit
>   vhost-scsi: add VIRTIO_F_VERSION_1 and VIRTIO_F_RING_PACKED
>   virtio: enable VIRTIO_F_RING_PACKED for all devices
> 
>  include/hw/virtio/vhost.h               |  1 +
>  include/hw/virtio/virtio-gpu.h          |  2 ++
>  include/hw/virtio/virtio.h              |  2 +-
>  include/sysemu/cryptodev-vhost.h        | 11 +++++++++++
>  backends/cryptodev-vhost.c              | 21 +++++++++++++++++++++
>  contrib/libvhost-user/libvhost-user.c   | 10 ++++++++++
>  contrib/vhost-user-blk/vhost-user-blk.c |  4 +---
>  hw/block/vhost-user-blk.c               |  1 +
>  hw/core/machine.c                       |  4 +++-
>  hw/display/vhost-user-gpu.c             | 18 ++++++++++++++++++
>  hw/display/virtio-gpu-base.c            |  2 +-
>  hw/input/vhost-user-input.c             | 11 +++++++++++
>  hw/scsi/vhost-scsi.c                    |  2 ++
>  hw/scsi/vhost-user-scsi.c               |  2 ++
>  hw/virtio/vhost-user-fs.c               |  6 ++++--
>  hw/virtio/vhost-vsock.c                 |  7 +++++--
>  hw/virtio/vhost.c                       | 24 ++++++++++++++++++++++++
>  hw/virtio/virtio-crypto.c               |  3 ++-
>  tests/qtest/libqos/virtio.c             |  3 ++-
>  docs/interop/vhost-user.rst             | 21 +++++++++++++++++++++
>  20 files changed, 143 insertions(+), 12 deletions(-)
> 
> -- 
> 2.26.2
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]