qemu-devel
[Top][All Lists]
Advanced

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

Re: Outline for VHOST_USER_PROTOCOL_F_VDPA


From: Stefan Hajnoczi
Subject: Re: Outline for VHOST_USER_PROTOCOL_F_VDPA
Date: Thu, 1 Oct 2020 16:13:50 +0100

On Thu, Oct 01, 2020 at 09:28:37AM +0200, Gerd Hoffmann wrote:
>   Hi,
> 
> > > Architecturally, I think we can have 3 processes:
> > > 
> > > VMM -- guest device emulation -- host backend
> > > 
> > > to me this looks like increasing our defence in depth strength,
> > > as opposed to just shifting things around ...
> > 
> > Cool idea.
> 
> Isn't that exactly what we can do once the multi-process qemu patches
> did land, at least for block devices?  With "VMM" being main qemu,
> "guest device emulation" being offloaded to one (or more) remote qemu
> process(es), and qemu-storage-daemon being the host backend?

Status of mpqemu: the current mpqemu patch series has limited
functionality (so that we can merge it sooner rather than later). Don't
expect to use it with arbitrary PCI devices yet, only the LSI SCSI
controller.

In mpqemu (and vfio-user) QEMU handles all MMIO/PIO accesses by
forwarding them to the device emulation process. Therefore QEMU is still
involved to an extent. This can be fixed with ioeventfd for doorbells,
the proposed ioregionfd mechanism for MMIO/PIO, and vfio-user mmap
regions for RAM-backed device memory.

However, QEMU itself still emulates the PCI controller. This means
PCI configuration space and other device operations still go to QEMU. In
order to fully move emulation out of QEMU we'd need to do something more
drastic and I think this is what we're discussion in this sub-thread.

Stefan

Attachment: signature.asc
Description: PGP signature


reply via email to

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