Re: [Qemu-devel] [RFC PATCH v1 7/8] multi-process QEMU: introduce proxy object

2018-10-18 Thread Elena Ufimtseva
On Fri, Oct 12, 2018 at 07:48:34PM -0400, Jagannathan Raman wrote: > From: Elena Ufimtseva > > Define PCI Device proxy object as a parent of TYPE_PCI_DEVICE. > PCI Proxy Object will register PCI BARs, MemoryRegionOps to handle > access to the BARs and forward those to the remot

[Qemu-devel] [multiprocess RFC PATCH 07/37] multi-process: define proxy-link object

2019-03-06 Thread elena . ufimtseva
ents received on the communication channel. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- include/glib-compat.h | 4 + include/io/proxy-link.h | 136 io/Makefile.objs| 2 + io/proxy-link.c |

[Qemu-devel] [multiprocess RFC PATCH 36/37] multi-process: add the concept description to docs/devel/qemu-multiprocess

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva TODO: Make relevant changes to the doc. Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- docs/devel/qemu-multiprocess.txt | 1109 ++ 1 file changed, 1109 insertions(+) create mode

[Qemu-devel] [multiprocess RFC PATCH 23/37] multi-process: add command line options rdrive and rdevice

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva These command option have the same notion as the drive and device, except these will be emulated in remote process. Added parameter rid identified the remote process group. As an example, this will create the device emulated by the remote process: /usr/local/bin/qemu

[Qemu-devel] [multiprocess RFC PATCH 18/37] multi-process: create IOHUB object to handle irq

2019-03-06 Thread elena . ufimtseva
-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- hw/proxy/qemu-proxy.c | 63 - include/hw/pci/pci_ids.h | 3 + include/hw/proxy/qemu-proxy.h | 5 ++ include/io/proxy-link.h | 8 +++ include/remote/iohub.h

[Qemu-devel] [multiprocess RFC PATCH 09/37] multi-process: setup PCI host bridge for remote device

2019-03-06 Thread elena . ufimtseva
-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- hw/pci/Makefile.objs | 2 +- include/remote/pcihost.h | 58 + remote/Makefile.objs | 1 + remote/pcihost.c | 84

[Qemu-devel] [multiprocess RFC PATCH 31/37] multi-process: add heartbeat timer and signal handler

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva Add isignal handler for launched remote processes and set up the heartbit timer for remote processes. Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- hw/proxy/qemu-proxy.c | 101

[Qemu-devel] [multiprocess RFC PATCH 04/37] multi-process: Add stub functions to facilate build of multi-process

2019-03-06 Thread elena . ufimtseva
From: Jagannathan Raman Add stub functions that are needed during compile time but not in runtime. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- accel/stubs/kvm-stub.c| 5 +++ accel/stubs/tcg-stub.c| 85

[Qemu-devel] [multiprocess RFC PATCH 02/37] multi-process: util: Add qemu_thread_cancel() to cancel running thread

2019-03-06 Thread elena . ufimtseva
From: Jagannathan Raman qemu_thread_cancel() added to destroy a given running thread. This will be needed in the following patches. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- include/qemu/thread.h| 1 + util/qemu-thread-posix.c

[Qemu-devel] [multiprocess RFC PATCH 03/37] multi-process: add a command line option for debug file

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva Can be used with -d rdebug command options when starting qemu. Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- include/qemu/log.h | 1 + util/log.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/include

[Qemu-devel] [multiprocess RFC PATCH 10/37] multi-process: setup a machine object for remote device process

2019-03-06 Thread elena . ufimtseva
From: Jagannathan Raman remote-machine object sets up various subsystems of the remote device process. Instantiate PCI host bridge object and initialize RAM, IO & PCI memory regions. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- ex

[Qemu-devel] [multiprocess RFC PATCH 17/37] multi-process: Synchronize remote memory

2019-03-06 Thread elena . ufimtseva
the changes to memory, the remote process receives the message and processes it in the handler for SYNC_SYSMEM message. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- Makefile.target| 1 + hw/proxy/memory-sync.c | 214

[Qemu-devel] [multiprocess RFC PATCH 34/37] multi-process: HMP command to delete drive from remote device

2019-03-06 Thread elena . ufimtseva
From: Jagannathan Raman Add rdrive_del HMP command to hot-unplug drive from remote device. Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson --- hmp-commands.hx | 14 ++ hw/proxy/monitor.c| 37

[Qemu-devel] [multiprocess RFC PATCH 29/37] multi-process: remote: add create_done condition

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva Do not allow BAR,MMIO handlers and irq setup to run before the configuration of the devices completes. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- remote/remote-main.c | 29 - 1 file

[Qemu-devel] [multiprocess RFC PATCH 30/37] multi-process: add processing of rdrive and rdevice command line

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva Add processing of command line options rdrive and rdevice. After remote devices are created along with their proxies, signal the proxies to finish the configuration steps. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva

[Qemu-devel] [multiprocess RFC PATCH 00/37] Initial support of multi-process qemu

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva Initial support of multi-process qemu CCing people who were discussing this functionality with Jag during KVM forum last (2018) year to continue the conversation. Started with the presentation in October 2017 made by Marc-Andre (Red Hat) and Konrad Wilk (Oracle) (http

[Qemu-devel] [multiprocess RFC PATCH 13/37] multi-process: introduce proxy object

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva Defines a PCI Device proxy object as a parent of TYPE_PCI_DEVICE. PCI Proxy Object is responsible for registering PCI BARs,i MemoryRegionOps to handle access to the BARs and forwarding those to the remote device. PCI Proxy object intercepts config space reads and writes

[Qemu-devel] [multiprocess RFC PATCH 22/37] multi-process: QMP/HMP commands to remove device from the remote process

2019-03-06 Thread elena . ufimtseva
From: Jagannathan Raman Add rdevice_del QMP & HMP commands to hot-unplug device from remote device. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- hmp-commands.hx | 14 ++ hmp.h | 1 + hw/p

[Qemu-devel] [multiprocess RFC PATCH 28/37] multi-process: remote: use fd for socket from parent process

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- remote/remote-main.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/remote/remote-main.c b/remote/remote-main.c index 52da3c8..fa32f2a 100644

[Qemu-devel] [multiprocess RFC PATCH 19/37] multi-process: store info about the remote process

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva Store info about the remote process in a hash table, so that it could be used later for QMP/HMP commands. Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- hw/i386/pc.c | 1 + hw/proxy/qemu-proxy.c | 7

[Qemu-devel] [multiprocess RFC PATCH 11/37] multi-process: setup memory manager for remote device

2019-03-06 Thread elena . ufimtseva
. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- Makefile.target | 2 + include/io/proxy-link.h | 11 ++ include/remote/memory.h | 34 + remote/memory.c | 98

[Qemu-devel] [multiprocess RFC PATCH 14/37] multi-process: PCI BAR write handling for proxy & remote endpoints

2019-03-06 Thread elena . ufimtseva
-by: Elena Ufimtseva Signed-off-by: John G Johnson --- hw/proxy/qemu-proxy.c | 28 include/hw/proxy/qemu-proxy.h | 3 +++ include/io/proxy-link.h | 10 ++ remote/remote-main.c | 24 4 files changed, 65 insertions

[Qemu-devel] [multiprocess RFC PATCH 08/37] multi-process: add functions to synchronize proxy and remote endpoints

2019-03-06 Thread elena . ufimtseva
From: Jagannathan Raman In some cases, for example MMIO read, QEMU has to wait for the remote to complete a command before proceeding. An eventfd based mechanism is added to synchronize QEMU & remote process. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: E

[Qemu-devel] [multiprocess RFC PATCH 24/37] multi-process: pass proxy link socket fd to remote process

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson --- hw/proxy/qemu-proxy.c | 12 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/hw/proxy/qemu-proxy.c b/hw/proxy/qemu-proxy.c index d1560d9..f519beb

[Qemu-devel] [multiprocess RFC PATCH 35/37] multi-process: QMP/HMP commands to resize block device on remote process

2019-03-06 Thread elena . ufimtseva
From: Jagannathan Raman Adds rblock_resize QMP/HMP commands to resize block devices on the remote process. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- hmp-commands.hx | 14 + hmp.h | 1 + hw/proxy

[Qemu-devel] [multiprocess RFC PATCH 06/37] multi-process: build system for remote device process

2019-03-06 Thread elena . ufimtseva
From: Jagannathan Raman Modify Makefile to support the building of the remote device process. Implements main() function of remote device process. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- Makefile| 5

[Qemu-devel] [multiprocess RFC PATCH 05/37] multi-process: Add config option for multi-process QEMU

2019-03-06 Thread elena . ufimtseva
From: Jagannathan Raman Add a configuration option to separate multi-process code Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- configure | 11 +++ 1 file changed, 11 insertions(+) diff --git a/configure b/configure index cefeb8f

[Qemu-devel] [multiprocess RFC PATCH 15/37] multi-process: PCI BAR read handling for proxy & remote endpoints

2019-03-06 Thread elena . ufimtseva
From: Jagannathan Raman Proxy device object implements the read handler for PCI BAR accesses. The handler sends BAR_READ message to the remote process. The remote process implements handler for BAR_READ message. Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva Signed-off

[Qemu-devel] [multiprocess RFC PATCH 33/37] multi-process: HMP command to add drive to the remote device

2019-03-06 Thread elena . ufimtseva
From: Jagannathan Raman Add rdrive_add HMP command to hot-plug drive to the remote device. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- hmp-commands.hx | 16 hw/proxy/monitor.c | 45

[Qemu-devel] [multiprocess RFC PATCH 20/37] multi-process: Add QMP & HMP commands to list remote processes

2019-03-06 Thread elena . ufimtseva
From: Jagannathan Raman Add query-remote QMP command and remote-proc-list HMP command, to list the remote processes spawned by QEMU. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- hmp-commands.hx| 16 + hmp.h

[Qemu-devel] [multiprocess RFC PATCH 37/37] multi-process: add configure and usage information

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- docs/qemu-multiprocess.txt | 104 + 1 file changed, 104 insertions(+) create mode 100644 docs/qemu-multiprocess.txt diff --git

[Qemu-devel] [multiprocess RFC PATCH 21/37] multi-process: QMP/HMP commands to add a device to the remote process

2019-03-06 Thread elena . ufimtseva
From: Jagannathan Raman Adds rdevice_add QMP & HMP commands to hotplug device to a remote device. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- hmp-commands.hx | 14 hmp.h | 1 + hw/proxy/monit

[Qemu-devel] [multiprocess RFC PATCH 12/37] multi-process: remote process initialization

2019-03-06 Thread elena . ufimtseva
From: Jagannathan Raman Adds the handler to process message from QEMU, Initialize remote process main loop, handles SYNC_SYSMEM message by updating its "system_memory" container using shared file descriptors received from QEMU. Signed-off-by: John G Johnson Signed-off-by: Elena

[Qemu-devel] [multiprocess RFC PATCH 01/37] multi-process: memory: alloc RAM from file at offset

2019-03-06 Thread elena . ufimtseva
-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- exec.c| 9 + include/exec/ram_addr.h | 2 +- include/qemu/mmap-alloc.h | 2 +- memory.c | 2 +- util/mmap-alloc.c | 5 +++-- util/oslib-posix.c| 2 +- 6 files changed, 12 insert

[Qemu-devel] [multiprocess RFC PATCH 25/37] multi-process: configure remote side devices

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva Add functions to configure remote devices. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/proxy/qemu-proxy.c | 41 +++-- include/hw/proxy/qemu-proxy.h | 2 ++ include/io

[Qemu-devel] [multiprocess RFC PATCH 27/37] multi-process: remote: add setup_devices and setup_drive msg processing

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva Receive by remote side the configuration messages and build the device object from JSON device descriptions. Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- remote/remote-main.c | 126

[Qemu-devel] [multiprocess RFC PATCH 26/37] multi-process: add qdev_proxy_add to create proxy devices

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva This is handled while parsing the command line options. The parsed options are being sent to remote process as the messgaes containing JSON strings. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- include/hw/proxy/qemu

[Qemu-devel] [multiprocess RFC PATCH 16/37] multi-process: Add LSI device proxy object

2019-03-06 Thread elena . ufimtseva
From: Jagannathan Raman Adds proxy-lsi53c895a object, as a derivative of the pci-proxy-dev object. This object is the proxy for the lsi53c895a object instantiated by the remote process. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- hw

[Qemu-devel] [multiprocess RFC PATCH 32/37] multi-process: handle heartbit messages in remote process

2019-03-06 Thread elena . ufimtseva
From: Elena Ufimtseva and reply back to proxy object. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- remote/remote-main.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/remote/remote-main.c b/remote/remote-main.c index 3fa6cbd

Re: [Qemu-devel] [multiprocess RFC PATCH 00/37] Initial support of multi-process qemu

2019-03-08 Thread Elena Ufimtseva
On Thu, Mar 07, 2019 at 02:27:57PM +0100, Marc-André Lureau wrote: > Hi > > On Thu, Mar 7, 2019 at 11:46 AM Stefan Hajnoczi wrote: > > > > On Wed, Mar 06, 2019 at 11:20:25PM -0800, elena.ufimts...@oracle.com wrote: > > > From: Elena Ufimtseva > > > >

Re: [Qemu-devel] [multiprocess RFC PATCH 36/37] multi-process: add the concept description to docs/devel/qemu-multiprocess

2019-03-08 Thread Elena Ufimtseva
On Thu, Mar 07, 2019 at 03:16:42PM +0100, Kevin Wolf wrote: > Am 07.03.2019 um 09:14 hat Thomas Huth geschrieben: > > On 07/03/2019 08.22, elena.ufimts...@oracle.com wrote: > > > From: Elena Ufimtseva > > > > > > TODO: Make relevant changes to the doc. > &

Re: [Qemu-devel] [multiprocess RFC PATCH 21/37] multi-process: QMP/HMP commands to add a device to the remote process

2019-03-08 Thread Elena Ufimtseva
> Signed-off-by: Jagannathan Raman > > Signed-off-by: John G Johnson > > Signed-off-by: Elena Ufimtseva > > --- > > hmp-commands.hx | 14 > > hmp.h | 1 + > > hw/proxy/monitor.c | 92 > >

Re: [Qemu-devel] [multiprocess RFC PATCH 35/37] multi-process: QMP/HMP commands to resize block device on remote process

2019-03-14 Thread Elena Ufimtseva
-off-by: John G Johnson > > Signed-off-by: Jagannathan Raman > > Signed-off-by: Elena Ufimtseva > > --- > > I know the discussion is questioning whether this is even the right way > to go, but if we DO add a QMP command, > > > +++ b/qa

Re: [Qemu-devel] [multiprocess RFC PATCH 36/37] multi-process: add the concept description to docs/devel/qemu-multiprocess

2019-05-30 Thread Elena Ufimtseva
On Tue, May 28, 2019 at 08:18:20AM -0700, Elena Ufimtseva wrote: > On Thu, May 23, 2019 at 12:11:30PM +0100, Stefan Hajnoczi wrote: > > Hi Jag and Elena, > > Do you think a call would help to move discussion along more quickly? > > > > Hi Stefan, > > We would li

Re: [Qemu-devel] [multiprocess RFC PATCH 36/37] multi-process: add the concept description to docs/devel/qemu-multiprocess

2019-05-28 Thread Elena Ufimtseva
On Thu, May 23, 2019 at 12:11:30PM +0100, Stefan Hajnoczi wrote: > Hi Jag and Elena, > Do you think a call would help to move discussion along more quickly? > Hi Stefan, We would like to join this call. And thank you inviting us! Elena > We could use the next KVM Community Call on June 4th to

[Qemu-devel] [RFC PATCH v2 12/35] multi-process: remote process initialization

2019-06-17 Thread elena . ufimtseva
From: Jagannathan Raman Adds the handler to process message from QEMU, Initialize remote process main loop, handles SYNC_SYSMEM message by updating its "system_memory" container using shared file descriptors received from QEMU. Signed-off-by: John G Johnson Signed-off-by: Elena

[Qemu-devel] [RFC PATCH v2 17/35] multi-process: Synchronize remote memory

2019-06-17 Thread elena . ufimtseva
the changes to memory, the remote process receives the message and processes it in the handler for SYNC_SYSMEM message. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- Makefile.target| 1 + hw/proxy/memory-sync.c | 214

[Qemu-devel] [RFC PATCH v2 29/35] multi-process: add heartbeat timer and signal handler

2019-06-17 Thread elena . ufimtseva
From: Elena Ufimtseva Add a signal handler for launched remote processes and set up the heartbit timer for remote processes. Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- hw/proxy/qemu-proxy.c | 101

[Qemu-devel] [RFC PATCH v2 33/35] multi-process: Extend block_resize command to support remote block device

2019-06-17 Thread elena . ufimtseva
From: Jagannathan Raman Extend block_resize QMP/HMP commands to resize block devices on a remote process. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- Changes in v2: - removed separate QMP/HMP command. - extended existing QMP command

[Qemu-devel] [RFC PATCH v2 35/35] multi-process: add configure and usage information

2019-06-17 Thread elena . ufimtseva
From: Elena Ufimtseva Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- Changes in v2: - since the changes were made to use existing device/drive options, the document was modified to reflect this. --- docs/qemu-multiprocess.txt | 59

[Qemu-devel] [RFC PATCH v2 32/35] multi-process: Extend drive_del command to delete drive from remote process

2019-06-17 Thread elena . ufimtseva
From: Jagannathan Raman Extend drive_del HMP command to hot-unplug drive from a remote process. Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson --- blockdev.c| 9 + hw/proxy/monitor.c| 26

[Qemu-devel] [RFC PATCH v2 21/35] multi-process: Extend monitor commands to add a device to remote process

2019-06-17 Thread elena . ufimtseva
From: Jagannathan Raman Extend device_add QMP & HMP commands to hotplug device to a remote process Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- hmp-commands.hx | 4 +- hmp.c | 8 hw/proxy/monit

[Qemu-devel] [RFC PATCH v2 19/35] multi-process: store info about the remote process

2019-06-17 Thread elena . ufimtseva
From: Elena Ufimtseva Store info about the remote process in a hash table, so that it could be used later for QMP/HMP commands. Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- Changes in v2: - moved the “remote_devs” object from “pcms

[Qemu-devel] [RFC PATCH v2 25/35] multi-process: remote: add setup_devices and setup_drive msg processing

2019-06-17 Thread elena . ufimtseva
From: Elena Ufimtseva Receive by remote side the configuration messages and build the device object from JSON device descriptions. Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- Changes in v2: - for new command line suboptions

[Qemu-devel] [RFC PATCH v2 27/35] multi-process: remote: add create_done condition

2019-06-17 Thread elena . ufimtseva
From: Elena Ufimtseva Do not allow BAR,MMIO handlers and irq setup to run before the configuration of the devices completes. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- remote/remote-main.c | 29 - 1 file

[Qemu-devel] [RFC PATCH v2 28/35] multi-process: add processing of remote drive and device command line

2019-06-17 Thread elena . ufimtseva
From: Elena Ufimtseva Add processing of command line options drive and device. After remote devices are created along with their proxies, signal the proxies to finish the configuration steps. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva

[Qemu-devel] [RFC PATCH v2 09/35] multi-process: setup PCI host bridge for remote device

2019-06-17 Thread elena . ufimtseva
-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- hw/pci/Makefile.objs | 2 +- include/remote/pcihost.h | 58 +++ remote/Makefile.objs | 1 + remote/pcihost.c | 84 4 files

Re: [Qemu-devel] [RFC PATCH v2 24/35] multi-process: add qdev_proxy_add to create proxy devices

2019-06-17 Thread Elena Ufimtseva
On Mon, Jun 17, 2019 at 02:22:08PM -0500, Eric Blake wrote: > On 6/17/19 1:16 PM, elena.ufimts...@oracle.com wrote: > > From: Elena Ufimtseva > > > > This is handled while parsing the command line options. > > The parsed options are being sent to remote process >

Re: [Qemu-devel] [RFC PATCH v2 01/35] multi-process: memory: alloc RAM from file at offset

2019-06-17 Thread Elena Ufimtseva
. You'll want to fix your sending environment to ensure that > threading is preserved correctly. > Hi Eric Yes, my bad. I have adjusted my scripts. Elena > > > > Signed-off-by: Jagannathan Raman > > Signed-off-by: John G Johnson > > Signed-off-by: Elena Uf

[Qemu-devel] [RFC PATCH v2 10/35] multi-process: setup a machine object for remote device process

2019-06-17 Thread elena . ufimtseva
From: Jagannathan Raman remote-machine object sets up various subsystems of the remote device process. Instantiate PCI host bridge object and initialize RAM, IO & PCI memory regions. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- ex

[Qemu-devel] [RFC PATCH v2 22/35] multi-process: Extend monitor commands to remove device from remote process

2019-06-17 Thread elena . ufimtseva
From: Jagannathan Raman Extend device_del QMP & HMP commands to hot-unplug device from remote process. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- hmp.c | 9 + hw/proxy/monitor.c

[Qemu-devel] [RFC PATCH v2 26/35] multi-process: remote: use fd for socket from parent process

2019-06-17 Thread elena . ufimtseva
From: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- remote/remote-main.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/remote/remote-main.c b/remote/remote-main.c index 8db2f36b90..5c26339ed7

[Qemu-devel] [RFC PATCH v2 31/35] multi-process: Extend drive_add to add drive to remote device

2019-06-17 Thread elena . ufimtseva
From: Jagannathan Raman Extend drive_add HMP command to hot-plug drive to a remote device. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- device-hotplug.c| 7 +++ hmp-commands.hx | 5 +++-- hw/proxy/monitor.c | 35

[Qemu-devel] [RFC PATCH v2 34/35] multi-process: add the concept description to docs/devel/qemu-multiprocess

2019-06-17 Thread elena . ufimtseva
From: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- Changes in v2: - changed the command line options descriptions; - added section about communication with remote process for MMIO and QMP commands using different

[Qemu-devel] [RFC PATCH v2 20/35] multi-process: Add QMP & extend HMP commands to list remote info

2019-06-17 Thread elena . ufimtseva
From: Jagannathan Raman Add query-remote QMP command and extend "info" HMP command, to list the remote objects used by QEMU. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- hmp-commands-info.hx | 16

[Qemu-devel] [RFC PATCH v2 23/35] multi-process: configure remote side devices

2019-06-17 Thread elena . ufimtseva
From: Elena Ufimtseva Add functions to configure remote devices. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/proxy/qemu-proxy.c | 38 ++- include/hw/proxy/qemu-proxy.h | 2 ++ include/io/proxy

[Qemu-devel] [RFC PATCH v2 16/35] multi-process: Add LSI device proxy object

2019-06-17 Thread elena . ufimtseva
From: Jagannathan Raman Adds proxy-lsi53c895a object, as a derivative of the pci-proxy-dev object. This object is the proxy for the lsi53c895a object instantiated by the remote process. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- hw

[Qemu-devel] [RFC PATCH v2 18/35] multi-process: create IOHUB object to handle irq

2019-06-17 Thread elena . ufimtseva
-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- hw/proxy/qemu-proxy.c | 62 - include/hw/pci/pci_ids.h | 3 + include/hw/proxy/qemu-proxy.h | 5 ++ include/io/proxy-link.h | 8 ++ include/remote/iohub.h

[Qemu-devel] [RFC PATCH v2 30/35] multi-process: handle heartbit messages in remote process

2019-06-17 Thread elena . ufimtseva
From: Elena Ufimtseva and reply back to proxy object. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- remote/remote-main.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/remote/remote-main.c b/remote/remote-main.c index c1362be93e

[Qemu-devel] [RFC PATCH v2 24/35] multi-process: add qdev_proxy_add to create proxy devices

2019-06-17 Thread elena . ufimtseva
From: Elena Ufimtseva This is handled while parsing the command line options. The parsed options are being sent to remote process as the messgaes containing JSON strings. Changes in v2: - parse socket and command suboptions of drive/device commands; Signed-off-by: Jagannathan Raman Signed

[Qemu-devel] [RFC PATCH v2 13/35] multi-process: introduce proxy object

2019-06-17 Thread elena . ufimtseva
From: Elena Ufimtseva Defines a PCI Device proxy object as a parent of TYPE_PCI_DEVICE. PCI Proxy Object is responsible for registering PCI BARs,i MemoryRegionOps to handle access to the BARs and forwarding those to the remote device. PCI Proxy object intercepts config space reads and writes

Re: [Qemu-devel] [multiprocess RFC PATCH 36/37] multi-process: add the concept description to docs/devel/qemu-multiprocess

2019-06-12 Thread Elena Ufimtseva
On Wed, Jun 12, 2019 at 05:24:13PM +0100, Stefan Hajnoczi wrote: > On Thu, May 30, 2019 at 01:54:35PM -0700, Elena Ufimtseva wrote: > > On Tue, May 28, 2019 at 08:18:20AM -0700, Elena Ufimtseva wrote: > > > On Thu, May 23, 2019 at 12:11:30PM +0100, Stefan Hajnoczi wrote: > &

[Qemu-devel] [RFC PATCH v2 02/35] multi-process: util: Add qemu_thread_cancel() to cancel running thread

2019-06-17 Thread elena . ufimtseva
From: Jagannathan Raman qemu_thread_cancel() added to destroy a given running thread. This will be needed in the following patches. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- include/qemu/thread.h| 1 + util/qemu-thread-posix.c

[Qemu-devel] [RFC PATCH v2 04/35] multi-process: Add stub functions to facilate build of multi-process

2019-06-17 Thread elena . ufimtseva
From: Jagannathan Raman Add stub functions that are needed during compile time but not in runtime. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- accel/stubs/kvm-stub.c| 5 +++ accel/stubs/tcg-stub.c| 85

[Qemu-devel] [RFC PATCH v2 15/35] multi-process: PCI BAR read handling for proxy & remote endpoints

2019-06-17 Thread elena . ufimtseva
From: Jagannathan Raman Proxy device object implements the read handler for PCI BAR accesses. The handler sends BAR_READ message to the remote process. The remote process implements handler for BAR_READ message. Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva Signed-off

[Qemu-devel] [RFC PATCH v2 11/35] multi-process: setup memory manager for remote device

2019-06-17 Thread elena . ufimtseva
. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- Makefile.target | 2 + include/io/proxy-link.h | 11 + include/remote/memory.h | 34 ++ remote/memory.c | 98 + 4 files

[Qemu-devel] [RFC PATCH v2 00/35] Initial support of multi-process qemu

2019-06-17 Thread elena . ufimtseva
From: Elena Ufimtseva Initial support of multi-process qemu Started with the presentation in October 2017 made by Marc-Andre (Red Hat) and Konrad Wilk (Oracle) (http://events17.linuxfoundation.org/sites/events/files/slides/KVM%20FORUM%20multi-process.pdf, https://www.youtube.com/watch?v=Kq1

[Qemu-devel] [RFC PATCH v2 03/35] multi-process: add a command line option for debug file

2019-06-17 Thread elena . ufimtseva
From: Elena Ufimtseva Can be used with -d rdebug command options when starting qemu. Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- include/qemu/log.h | 1 + util/log.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/include

[Qemu-devel] [RFC PATCH v2 05/35] multi-process: Add config option for multi-process QEMU

2019-06-17 Thread elena . ufimtseva
From: Jagannathan Raman Add a configuration option to separate multi-process code Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- configure | 11 +++ 1 file changed, 11 insertions(+) diff --git a/configure b/configure index

[Qemu-devel] [RFC PATCH v2 08/35] multi-process: add functions to synchronize proxy and remote endpoints

2019-06-17 Thread elena . ufimtseva
From: Jagannathan Raman In some cases, for example MMIO read, QEMU has to wait for the remote to complete a command before proceeding. An eventfd based mechanism is added to synchronize QEMU & remote process. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: E

[Qemu-devel] [RFC PATCH v2 14/35] multi-process: PCI BAR write handling for proxy & remote endpoints

2019-06-17 Thread elena . ufimtseva
-by: Elena Ufimtseva Signed-off-by: John G Johnson --- hw/proxy/qemu-proxy.c | 28 include/hw/proxy/qemu-proxy.h | 2 ++ include/io/proxy-link.h | 10 ++ remote/remote-main.c | 24 4 files changed, 64 insertions

[Qemu-devel] [RFC PATCH v2 01/35] multi-process: memory: alloc RAM from file at offset

2019-06-17 Thread elena . ufimtseva
-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- exec.c| 9 + include/exec/ram_addr.h | 2 +- include/qemu/mmap-alloc.h | 2 +- memory.c | 2 +- util/mmap-alloc.c | 5 +++-- util/oslib-posix.c| 2 +- 6 files changed, 12 insert

[Qemu-devel] [RFC PATCH v2 07/35] multi-process: define proxy-link object

2019-06-17 Thread elena . ufimtseva
ents received on the communication channel. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- Changes in v2: - Use default context for main loop instead of a new context; --- include/glib-compat.h | 4 + include/io/proxy-link.h |

[Qemu-devel] [RFC PATCH v2 06/35] multi-process: build system for remote device process

2019-06-17 Thread elena . ufimtseva
From: Jagannathan Raman Modify Makefile to support the building of the remote device process. Implements main() function of remote device process. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- Makefile| 5

Re: [Qemu-devel] [multiprocess RFC PATCH 36/37] multi-process: add the concept description to docs/devel/qemu-multiprocess

2019-05-07 Thread Elena Ufimtseva
On Mon, Mar 11, 2019 at 10:20:06AM +, Daniel P. Berrangé wrote: > On Thu, Mar 07, 2019 at 03:29:41PM -0800, John G Johnson wrote: > > > > Hi Daniel, Stefan We have not replied in a while as we were trying to figure out the best approach after multiple comments we have received on the patch

Re: [Qemu-devel] [RFC v3 PATCH 44/45] multi-process: add the concept description to docs/devel/qemu-multiprocess

2019-09-05 Thread Elena Ufimtseva
On Thu, Sep 5, 2019 at 3:19 AM Peter Maydell wrote: > On Tue, 3 Sep 2019 at 22:19, Jagannathan Raman > wrote: > > > > From: John G Johnson > > > > Signed-off-by: John G Johnson > > Signed-off-by: Elena Ufimtseva > > Signed-off-by: Jagannathan Rama

Re: [RFC v4 PATCH 00/49] Initial support of multi-process qemu - status update

2019-12-16 Thread Elena Ufimtseva
On Fri, Dec 13, 2019 at 10:41:16AM +, Stefan Hajnoczi wrote: > On Mon, Dec 09, 2019 at 10:47:17PM -0800, Elena Ufimtseva wrote: > > At this moment we are working on the first stage of the project with help of > > the Nutanix developers. > > The questions we

Re: [RFC v4 PATCH 48/49] multi-process: add the concept description to docs/devel/qemu-multiprocess

2019-10-25 Thread Elena Ufimtseva
On Thu, Oct 24, 2019 at 05:09:29AM -0400, Jagannathan Raman wrote: > From: John G Johnson > > Signed-off-by: John G Johnson > Signed-off-by: Elena Ufimtseva > Signed-off-by: Jagannathan Raman > --- > v2 -> v3: >- Updated with latest design of this project &g

Re: [Qemu-devel] [RFC v3 PATCH 07/45] multi-process: define proxy-link object

2019-10-09 Thread Elena Ufimtseva
On Wed, Oct 09, 2019 at 02:37:24PM +0100, Stefan Hajnoczi wrote: > On Thu, Sep 12, 2019 at 05:34:35PM +0200, Stefan Hajnoczi wrote: > > On Tue, Sep 03, 2019 at 04:37:33PM -0400, Jagannathan Raman wrote: > > > +msg->num_fds = 0; > > > +for (chdr = CMSG_FIRSTHDR(); chdr != NULL; > > > +

Re: [RFC v4 PATCH 00/49] Initial support of multi-process qemu - status update

2019-12-09 Thread Elena Ufimtseva
ople contributed to this patchset: > > John G Johnson > Jagannathan Raman > Elena Ufimtseva > Kanth Ghatraju > > For full concept writeup about QEMU disaggregation refer to > docs/devel/qemu-multiprocess.rst. Please refer to > docs/qemu-multiprocess.txt for usage inf

Re: [PATCH v5 14/50] mutli-process: build remote command line args

2020-03-04 Thread Elena Ufimtseva
On Wed, Mar 04, 2020 at 11:00:32AM +, Daniel P. Berrangé wrote: > On Mon, Mar 02, 2020 at 02:39:37PM -0800, Elena Ufimtseva wrote: > > On Mon, Mar 02, 2020 at 05:47:45PM +, Daniel P. Berrangé wrote: > > > On Mon, Mar 02, 2020 at 06:36:13PM +0100, Philippe Mathieu-Daudé w

Re: [PATCH v5 14/50] mutli-process: build remote command line args

2020-03-04 Thread Elena Ufimtseva
On Wed, Mar 04, 2020 at 04:33:57PM +, Daniel P. Berrangé wrote: > On Wed, Mar 04, 2020 at 08:25:34AM -0800, Elena Ufimtseva wrote: > > On Wed, Mar 04, 2020 at 11:00:32AM +, Daniel P. Berrangé wrote: > > > On Mon, Mar 02, 2020 at 02:39:37PM -0800, Elena Ufimtseva wrote: &

Re: [PATCH v5 14/50] mutli-process: build remote command line args

2020-03-02 Thread Elena Ufimtseva
On Mon, Mar 02, 2020 at 05:47:45PM +, Daniel P. Berrangé wrote: > On Mon, Mar 02, 2020 at 06:36:13PM +0100, Philippe Mathieu-Daudé wrote: > > typo "multi" in patch subject. > > Thank Philippe, will fix. > > On 2/24/20 9:55 PM, Jagannathan Raman wro

Re: [PATCH v5 48/50] multi-process: Validate incoming commands from Proxy

2020-02-28 Thread Elena Ufimtseva
On Thu, Feb 27, 2020 at 05:18:30PM +, Stefan Hajnoczi wrote: > On Mon, Feb 24, 2020 at 03:55:39PM -0500, Jagannathan Raman wrote: > > From: Elena Ufimtseva > > > > Validate the incoming commands to confirm that they would not cause any > > errors in the remote p

Re: [PATCH v5 50/50] multi-process: add configure and usage information

2020-02-28 Thread Elena Ufimtseva
On Thu, Feb 27, 2020 at 04:58:04PM +, Stefan Hajnoczi wrote: > On Mon, Feb 24, 2020 at 03:55:41PM -0500, Jagannathan Raman wrote: > > From: Elena Ufimtseva > > > > Signed-off-by: Elena Ufimtseva > > Signed-off-by: Jagannathan Raman > > Signed-off-by: John

Re: [PATCH v5 49/50] multi-process: add the concept description to docs/devel/qemu-multiprocess

2020-02-28 Thread Elena Ufimtseva
On Thu, Feb 27, 2020 at 05:11:40PM +, Stefan Hajnoczi wrote: > On Mon, Feb 24, 2020 at 03:55:40PM -0500, Jagannathan Raman wrote: > > From: John G Johnson > > > > Signed-off-by: John G Johnson > > Signed-off-by: Elena Ufimtseva > > Signed-off-by: Jagannath

Re: [RFC v4 PATCH 00/49] Initial support of multi-process qemu - status update

2020-01-02 Thread Elena Ufimtseva
On Tue, Dec 17, 2019 at 04:33:16PM +, Stefan Hajnoczi wrote: > On Mon, Dec 16, 2019 at 07:57:32PM +, Felipe Franciosi wrote: > > > On 16 Dec 2019, at 20:47, Elena Ufimtseva > > > wrote: > > > On Fri, Dec 13, 2019 at 10:41:16AM +, Stefan Hajnoczi

Re: [PATCH v5 42/50] multi-process/mig: Send VMSD of remote to the Proxy object

2020-03-05 Thread Elena Ufimtseva
On Thu, Mar 05, 2020 at 02:39:49PM +, Dr. David Alan Gilbert wrote: > * Jagannathan Raman (jag.ra...@oracle.com) wrote: > > The remote process sends the VMSD to the Proxy object, on the source > > side > > > > Signed-off-by: Elena Ufimtseva > > Signed-off-b

Re: [PATCH v5 40/50] multi-process/mig: build migration module in the remote process

2020-03-05 Thread Elena Ufimtseva
gt; > > > > > On 3/4/2020 10:58 AM, Dr. David Alan Gilbert wrote: > > > > > * Jagannathan Raman (jag.ra...@oracle.com) wrote: > > > > > > Add Makefile support to enable migration in remote process > > > > > > > > >

Re: [PATCH v5 07/50] multi-process: define mpqemu-link object

2020-03-10 Thread Elena Ufimtseva
On Tue, Mar 10, 2020 at 04:09:41PM +, Stefan Hajnoczi wrote: > On Mon, Feb 24, 2020 at 03:54:58PM -0500, Jagannathan Raman wrote: > > +/* > > + * TODO: Dont use mpqemu link object since it is > > + * not needed to be created via -object. > > + */ > > Please investigate and resolve this TODO.

  1   2   3   4   >