OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-dev message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [virtio-dev] Memory sharing device

On Tue, Feb 19, 2019 at 11:02 PM Gerd Hoffmann <kraxel@redhat.com> wrote:
> > > In general though, this means that the ideal usage of host pointers would
> > > be to set a few regions up front for certain purposes, then share that
> > out
> > > amongst other device contexts. This also facilitates sharing the memory
> > > between guest processes, which is useful for implementing things like
> > > compositors.
> >
> > Guest processes in the same VM or in different VMs?
> >
> The guest processes are in the same VM.
> Are you also considering the usage in different VMs?

No, I'm just asking whenever that is important to you.

For communication between guest processes within the same VM I don't
really see a need to involve the hypervisor ...

Right, once the host memory is set up we can rely on purely guest side stuff
map sub-regions of it.
> > This also features heavily for our "virtio userspace" thing.
> > > Since this is a common pattern, should this sharing concept be
> > standardized
> > > somehow? I.e., should there be a standard way to send Shmid/offset/size
> > to
> > > other devices, or have that be a standard struct in the hypervisor?
> >
> > Same question: other devices of the same VM?
> >
> Yes, also, other devices of the same VM.

So why involve the hypervisor here? The guest can handle that on its
own. Passing an image data buffer from the usb webcam to the intel gpu
for display (on bare metal) isn't fundamentally different from passing a
buffer from virtio-camera to virtio-gpu (in a VM). Linux guests will
use dma-bufs for that, other OSes probably something else.

That's true that it can be handled purely in the guest layers,
if there is an existing interface in the guest
to pass the proposed host memory id's / offsets / sizes
between them.

However, for the proposed host memory sharing spec,
would there be a standard way to share the host memory across
different virtio devices without relying on Linux dmabufs?


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]