qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v5 0/4] Virtio shared dma-buf


From: Michael S. Tsirkin
Subject: Re: [PATCH v5 0/4] Virtio shared dma-buf
Date: Tue, 5 Sep 2023 16:45:26 -0400

I was hoping for some acks from Gerd or anyone else with a clue
about graphics, but as that doesn't seem to happen I'll merge.
Thanks!

On Mon, Aug 21, 2023 at 02:37:56PM +0200, Albert Esteve wrote:
> Hi all,
> 
> A little bump for this patch, sorry for the extra noise.
> 
> Regards,
> Albert
> 
> 
> On Wed, Aug 2, 2023 at 11:08 AM Albert Esteve <aesteve@redhat.com> wrote:
> 
>     v1 link -> https://lists.gnu.org/archive/html/qemu-devel/2023-05/
>     msg00598.html
>     v2 link -> https://lists.gnu.org/archive/html/qemu-devel/2023-05/
>     msg04530.html
>     v3 link -> https://lists.gnu.org/archive/html/qemu-devel/2023-05/
>     msg06126.html
>     v4 link -> https://lists.gnu.org/archive/html/qemu-devel/2023-06/
>     msg05174.html
>     v4 -> v5:
>     - Allow shared table to hold pointers for vhost devices, in a struct that
>     defines the types that the table can store
>     - New message VHOST_USER_GET_SHARED_OBJECT to retrieve objects stored in
>     vhost backends
>     - Minor additions to support the previous items (e.g. new test usecases).
> 
>     This patch covers the required steps to add support for virtio 
> cross-device
>     resource sharing[1],
>     which support is already available in the kernel.
> 
>     The main usecase will be sharing dma buffers from virtio-gpu devices (as
>     the exporter
>     -see VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID in [2]), to virtio-video (under
>     discussion)
>     devices (as the buffer-user or importer). Therefore, even though virtio
>     specs talk about
>     resources or objects[3], this patch adds the infrastructure with dma-bufs
>     in mind.
>     Note that virtio specs let the devices themselves define what a vitio
>     object is.
> 
>     These are the main parts that are covered in the patch:
> 
>     - Add hash function to uuid module
>     - Shared resources table, to hold all resources that can be shared in the
>     host and their assigned UUID,
>       or pointers to the backend holding the resource
>     - Internal shared table API for virtio devices to add, lookup and remove
>     resources
>     - Unit test to verify the API
>     - New messages to the vhost-user protocol to allow backend to interact 
> with
>     the shared
>       table API through the control socket
>     - New vhost-user feature bit to enable shared objects feature
> 
>     Applies cleanly to 38a6de80b917b2a822cff0e38d83563ab401c890
> 
>     [1] - https://lwn.net/Articles/828988/
>     [2] - https://docs.oasis-open.org/virtio/virtio/v1.2/csd01/
>     virtio-v1.2-csd01.html#x1-3730006
>     [3] - https://docs.oasis-open.org/virtio/virtio/v1.2/csd01/
>     virtio-v1.2-csd01.html#x1-10500011
> 
>     Albert Esteve (4):
>       uuid: add a hash function
>       virtio-dmabuf: introduce virtio-dmabuf
>       vhost-user: add shared_object msg
>       vhost-user: refactor send_resp code
> 
>      MAINTAINERS                               |   7 +
>      docs/interop/vhost-user.rst               |  57 +++++++
>      hw/display/meson.build                    |   1 +
>      hw/display/virtio-dmabuf.c                | 136 +++++++++++++++++
>      hw/virtio/vhost-user.c                    | 174 ++++++++++++++++++++--
>      include/hw/virtio/vhost-backend.h         |   3 +
>      include/hw/virtio/virtio-dmabuf.h         | 103 +++++++++++++
>      include/qemu/uuid.h                       |   2 +
>      subprojects/libvhost-user/libvhost-user.c | 118 +++++++++++++++
>      subprojects/libvhost-user/libvhost-user.h |  55 ++++++-
>      tests/unit/meson.build                    |   1 +
>      tests/unit/test-uuid.c                    |  27 ++++
>      tests/unit/test-virtio-dmabuf.c           | 137 +++++++++++++++++
>      util/uuid.c                               |  14 ++
>      14 files changed, 821 insertions(+), 14 deletions(-)
>      create mode 100644 hw/display/virtio-dmabuf.c
>      create mode 100644 include/hw/virtio/virtio-dmabuf.h
>      create mode 100644 tests/unit/test-virtio-dmabuf.c
> 
>     --
>     2.40.0
> 
> 




reply via email to

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