I haven't seen the link to the muser prototype shared on the list yet,
so I'm taking the liberty of posting it for discussion:
https://github.com/oracle/qemu/tree/multi-process-qemu-v0.4.1-muser

Great that a lot of the multi-process patch series is no longer
necessary.  The muser approach requires less code in QEMU.

The following points came to mind:

1. Configure PCI configuration space, BARs, and MSI/IRQs based on the PCIDevice
   instead of hard-coding the LSI SCSI controller's specifics.  That way any
   PCIDevice can run as an muser device.

2. Integrate with QEMU's event loop instead of spawning threads and calling
   lm_ctx_run().  The event loop should monitor the muser fd for activity using
   aio_set_fd_handler() and then call into libmuser to handle the event.  This
   will avoid thread model problems in the future and also allow true
   multi-threading (IOThreads).

3. Drop previous multi-process QEMU commits if they are not needed.

Stefan

Reply via email to