[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [virtio-dev] Re: guest / host buffer sharing ...
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [virtio-dev] Re: guest / host buffer sharing ... |
Date: |
Wed, 6 Nov 2019 10:10:57 +0000 |
User-agent: |
Mutt/1.12.1 (2019-06-15) |
* Gerd Hoffmann (address@hidden) wrote:
> Hi,
>
> > > Reason is: Meanwhile I'm wondering whenever "just use virtio-gpu
> > > resources" is really a good answer for all the different use cases
> > > we have collected over time. Maybe it is better to have a dedicated
> > > buffer sharing virtio device? Here is the rough idea:
> >
> > My concern is that buffer sharing isn't a "device". It's a primitive
> > used in building other devices. When someone asks for just buffer
> > sharing it's often because they do not intend to upstream a
> > specification for their device.
>
> Well, "vsock" isn't a classic device (aka nic/storage/gpu/...) either.
> It is more a service to allow communication between host and guest
>
> That buffer sharing device falls into the same category. Maybe it even
> makes sense to build that as virtio-vsock extension. Not sure how well
> that would work with the multi-transport architecture of vsock though.
>
> > If this buffer sharing device's main purpose is for building proprietary
> > devices without contributing to VIRTIO, then I don't think it makes
> > sense for the VIRTIO community to assist in its development.
>
> One possible use case would be building a wayland proxy, using vsock for
> the wayland protocol messages and virtio-buffers for the shared buffers
> (wayland client window content).
>
> It could also simplify buffer sharing between devices (feed decoded
> video frames from decoder to gpu), although in that case it is less
> clear that it'll actually simplify things because virtio-gpu is
> involved anyway.
>
> We can't prevent people from using that for proprietary stuff (same goes
> for vsock).
>
> There is the option to use virtio-gpu instead, i.e. add support to qemu
> to export dma-buf handles for virtio-gpu resources to other processes
> (such as a wayland proxy). That would provide very similar
> functionality (and thereby create the same loophole).
>
> > VIRTIO recently gained a shared memory resource concept for access to
> > host memory. It is being used in virtio-pmem and virtio-fs (and
> > virtio-gpu?).
>
> virtio-gpu is in progress still unfortunately (all kinds of fixes for
> the qemu drm drivers and virtio-gpu guest driver refactoring kept me
> busy for quite a while ...).
>
> > If another flavor of shared memory is required it can be
> > added to the spec and new VIRTIO device types can use it. But it's not
> > clear why this should be its own device.
>
> This is not about host memory, buffers are in guest ram, everything else
> would make sharing those buffers between drivers inside the guest (as
> dma-buf) quite difficult.
Given it's just guest memory, can the guest just have a virt queue on
which it places pointers to the memory it wants to share as elements in
the queue?
Dave
> > My question would be "what is the actual problem you are trying to
> > solve?".
>
> Typical use cases center around sharing graphics data between guest
> and host.
>
> cheers,
> Gerd
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: address@hidden
> For additional commands, e-mail: address@hidden
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK
- guest / host buffer sharing ..., Gerd Hoffmann, 2019/11/05
- Re: guest / host buffer sharing ..., Stefan Hajnoczi, 2019/11/06
- Re: guest / host buffer sharing ..., Gerd Hoffmann, 2019/11/06
- Re: guest / host buffer sharing ..., Stefan Hajnoczi, 2019/11/07
- Re: guest / host buffer sharing ..., Frank Yang, 2019/11/07
- Re: guest / host buffer sharing ..., Tomasz Figa, 2019/11/20
- Re: guest / host buffer sharing ..., Gerd Hoffmann, 2019/11/08
- Re: guest / host buffer sharing ..., Stefan Hajnoczi, 2019/11/08