[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [QEMU PATCH v4 10/13] virtio-gpu: Resource UUID
- To: Albert Esteve <aesteve@xxxxxxxxxx>
- From: Akihiko Odaki <akihiko.odaki@xxxxxxxxxx>
- Date: Wed, 13 Sep 2023 21:22:26 +0900
- Cc: Huang Rui <ray.huang@xxxxxxx>, Gerd Hoffmann <kraxel@xxxxxxxxxx>, "Michael S . Tsirkin" <mst@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Antonio Caggiano <antonio.caggiano@xxxxxxxxxxxxx>, "Dr . David Alan Gilbert" <dgilbert@xxxxxxxxxx>, Robert Beckett <bob.beckett@xxxxxxxxxxxxx>, Dmitry Osipenko <dmitry.osipenko@xxxxxxxxxxxxx>, Alex Bennée <alex.bennee@xxxxxxxxxx>, "qemu-devel@xxxxxxxxxx" <qemu-devel@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Gurchetan Singh <gurchetansingh@xxxxxxxxxxxx>, "ernunes@xxxxxxxxxx" <ernunes@xxxxxxxxxx>, Philippe Mathieu-Daudé <philmd@xxxxxxxxxx>, Alyssa Ross <hi@xxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, "Deucher, Alexander" <Alexander.Deucher@xxxxxxx>, "Koenig, Christian" <Christian.Koenig@xxxxxxx>, "Ragiadakou, Xenia" <Xenia.Ragiadakou@xxxxxxx>, "Pelloux-Prayer, Pierre-Eric" <Pierre-eric.Pelloux-prayer@xxxxxxx>, "Huang, Honglei1" <Honglei1.Huang@xxxxxxx>, "Zhang, Julia" <Julia.Zhang@xxxxxxx>, "Chen, Jiqian" <Jiqian.Chen@xxxxxxx>
- Delivery-date: Wed, 13 Sep 2023 12:22:52 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 2023/09/13 20:34, Albert Esteve wrote:
On Wed, Sep 13, 2023 at 12:34 PM Akihiko Odaki <akihiko.odaki@xxxxxxxxxx
<mailto:akihiko.odaki@xxxxxxxxxx>> wrote:
On 2023/09/13 16:55, Albert Esteve wrote:
> Hi Antonio,
>
> If I'm not mistaken, this patch is related with:
>
https://lists.gnu.org/archive/html/qemu-devel/2023-09/msg01853.html
<https://lists.gnu.org/archive/html/qemu-devel/2023-09/msg01853.html>
>
<https://lists.gnu.org/archive/html/qemu-devel/2023-09/msg01853.html
<https://lists.gnu.org/archive/html/qemu-devel/2023-09/msg01853.html>>
> IMHO, ideally, virtio-gpu and vhost-user-gpu both, would use the
> infrastructure from the patch I linked to store the
> virtio objects, so that they can be later shared with other devices.
I don't think such sharing is possible because the resources are
identified by IDs that are local to the device. That also complicates
migration.
Regards,
Akihiko Odaki
Hi Akihiko,
As far as I understand, the feature to export dma-bufs from the
virtgpu was introduced as part of the virtio cross-device sharing
proposal [1]. Thus, it shall be posible. When virtgpu ASSING_UUID,
it exports and identifies the dmabuf resource, so that when the dmabuf gets
shared inside the guest (e.g., with virtio-video), we can use the assigned
UUID to find the dmabuf in the host (using the patch that I linked above),
and import it.
[1] - https://lwn.net/Articles/828988/ <https://lwn.net/Articles/828988/>
The problem is that virtio-gpu can have other kind of resources like
pixman and OpenGL textures and manage them and DMA-BUFs with unified
resource ID.
So you cannot change:
g_hash_table_insert(g->resource_uuids,
GUINT_TO_POINTER(assign.resource_id), uuid);
by:
virtio_add_dmabuf(uuid, assign.resource_id);
assign.resource_id is not DMA-BUF file descriptor, and the underlying
resource my not be DMA-BUF at first place.
Also, since this lives in the common code that is not used only by
virtio-gpu-gl but also virtio-gpu, which supports migration, we also
need to take care of that. It is not a problem for DMA-BUF as DMA-BUF is
not migratable anyway, but the situation is different in this case.
Implementing cross-device sharing is certainly a possibility, but that
requires more than dealing with DMA-BUFs.
|