Re: [PATCH v2 1/7] migration/multifd: Add new migration option zero-page-detection.

2024-02-21 Thread Elena Ufimtseva
On Fri, Feb 16, 2024 at 2:41 PM Hao Xiang wrote: > This new parameter controls where the zero page checking is running. > 1. If this parameter is set to 'legacy', zero page checking is > done in the migration main thread. > 2. If this parameter is set to 'none', zero page checking is disabled. >

Re: [PATCH v2 2/7] migration/multifd: Support for zero pages transmission in multifd format.

2024-02-21 Thread Elena Ufimtseva
On Fri, Feb 16, 2024 at 2:41 PM Hao Xiang wrote: > This change adds zero page counters and updates multifd send/receive > tracing format to track the newly added counters. > > Signed-off-by: Hao Xiang > --- > migration/multifd.c| 43 ++ > migration/mu

Re: [PATCH v2 3/7] migration/multifd: Zero page transmission on the multifd thread.

2024-02-21 Thread Elena Ufimtseva
On Fri, Feb 16, 2024 at 2:42 PM Hao Xiang wrote: > 1. Implements the zero page detection and handling on the multifd > threads for non-compression, zlib and zstd compression backends. > 2. Added a new value 'multifd' in ZeroPageDetection enumeration. > 3. Add proper asserts to ensure pages->norma

Re: [PATCH v2 4/7] migration/multifd: Enable zero page checking from multifd threads.

2024-02-21 Thread Elena Ufimtseva
On Fri, Feb 16, 2024 at 2:42 PM Hao Xiang wrote: > This change adds a dedicated handler for > MigrationOps::ram_save_target_page in > multifd live migration. Now zero page checking can be done in the multifd > threads > and this becomes the default configuration. We still provide backward > compa

Re: [PATCH v3 3/6] util/bufferiszero: remove AVX512 variant

2024-02-06 Thread Elena Ufimtseva
Hello Alexander On Tue, Feb 6, 2024 at 12:50 PM Alexander Monakov wrote: > Thanks to early checks in the inline buffer_is_zero wrapper, the SIMD > routines are invoked much more rarely in normal use when most buffers > are non-zero. This makes use of AVX512 unprofitable, as it incurs extra > fre

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] [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: > &

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 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 35/37] multi-process: QMP/HMP commands to resize block device on remote process

2019-03-14 Thread Elena Ufimtseva
f-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: [RFC v4 PATCH 00/49] Initial support of multi-process qemu - status update

2019-12-09 Thread Elena Ufimtseva
ng people 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 usag

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 have ga

[RFC 1/8] ioregionfd: introduce a syscall and memory API

2022-02-08 Thread Elena Ufimtseva
Signed-off-by: Elena Ufimtseva --- include/exec/memory.h | 50 +++ include/sysemu/kvm.h | 15 + linux-headers/linux/kvm.h | 25 accel/kvm/kvm-all.c | 132 ++ accel/stubs/kvm-stub.c| 1 + 5 files changed, 223

[RFC 2/8] multiprocess: place RemoteObject definition in a header file

2022-02-08 Thread Elena Ufimtseva
This will be needed later. No functional changes. Signed-off-by: Elena Ufimtseva --- include/hw/remote/remote.h | 28 hw/remote/remote-obj.c | 16 +--- MAINTAINERS| 1 + 3 files changed, 30 insertions(+), 15 deletions(-) create mode

[RFC 7/8] multiprocess: add ioregionfd memory region in proxy

2022-02-08 Thread Elena Ufimtseva
Signed-off-by: Elena Ufimtseva --- include/hw/remote/proxy.h | 1 + hw/remote/proxy.c | 66 --- 2 files changed, 63 insertions(+), 4 deletions(-) diff --git a/include/hw/remote/proxy.h b/include/hw/remote/proxy.h index 741def71f1..9efef0b935 100644

[RFC 0/8] ioregionfd introduction

2022-02-08 Thread Elena Ufimtseva
uential write read IOPS read BW write IOPS write BW no ioregionfd367k 1434MiB/s 76k 297MiB/s ioregionfd 374k 1459MiB/s 77.3k302MiB/s Please review and send your feedback. Thank you! Elena Elena Ufimtseva (8): ioregionfd:

[RFC 8/8] multiprocess: handle ioregionfd commands

2022-02-08 Thread Elena Ufimtseva
Signed-off-by: Elena Ufimtseva --- include/hw/remote/ioregionfd.h | 2 + include/hw/remote/remote.h | 2 + linux-headers/ioregionfd.h | 30 + hw/remote/ioregionfd.c | 111 + hw/remote/remote-obj.c | 44 + 5 files

[RFC 3/8] ioregionfd: introduce memory API functions

2022-02-08 Thread Elena Ufimtseva
Similar to ioeventfd, introduce the ioregionfd functions to add and delete ioregionfds. Signed-off-by: Elena Ufimtseva --- softmmu/memory.c | 207 +++ 1 file changed, 207 insertions(+) diff --git a/softmmu/memory.c b/softmmu/memory.c index 7340e19ff5

[RFC 4/8] ioregionfd: Introduce IORegionDFObject type

2022-02-08 Thread Elena Ufimtseva
Signed-off-by: Elena Ufimtseva --- meson.build| 15 ++- qapi/qom.json | 32 +- include/hw/remote/ioregionfd.h | 40 +++ hw/remote/ioregionfd.c | 196 + Kconfig.host | 3 + MAINTAINERS

[RFC 6/8] multiprocess: add MPQEMU_CMD_BAR_INFO

2022-02-08 Thread Elena Ufimtseva
This command is used to request the bar type info from remote device. Signed-off-by: Elena Ufimtseva --- include/hw/remote/ioregionfd.h | 2 ++ include/hw/remote/machine.h | 1 + include/hw/remote/mpqemu-link.h | 2 ++ hw/remote/ioregionfd.c | 28 hw

[RFC 5/8] multiprocess: prepare ioregionfds for remote device

2022-02-08 Thread Elena Ufimtseva
Signed-off-by: Elena Ufimtseva --- include/hw/remote/ioregionfd.h | 1 + include/hw/remote/remote.h | 1 + hw/remote/ioregionfd.c | 26 ++ hw/remote/remote-obj.c | 93 ++ 4 files changed, 121 insertions(+) diff --git a/include/hw

[PATCH RFC 0/2] migration: introduce strict SLA

2024-06-21 Thread Elena Ufimtseva
(switchover-limit) and total downtime would not be more than 310ms. Please send your comments and recommendations. The patchset idea originally comes from Joao Martins . Elena Ufimtseva (2): migration: abort when switchover limit exceeded migration: abort on destination if switchover limit exceeded

[PATCH RFC 1/2] migration: abort when switchover limit exceeded

2024-06-21 Thread Elena Ufimtseva
Introduce capability switchover_abort and migration parameter switchover_limit to allow for live migration abort when the source downtime exceeded by switchover_limit. Signed-off-by: Elena Ufimtseva --- hw/core/machine.c | 1 + include/migration/client-options.h | 1

[PATCH RFC 2/2] migration: abort on destination if switchover limit exceeded

2024-06-21 Thread Elena Ufimtseva
During live migration, receive current downtime from source and start a downtime timer. When the destination dowtime and added source downtime exceeds downtime limit for more than switchover limit, abort live migration on destination. Signed-off-by: Elena Ufimtseva --- migration/migration.c

Re: Call for agenda for 2023-09-19 QEMU developers call

2023-09-18 Thread Elena Ufimtseva
; j...@nvidia.com ; c...@nvidia.com ; David Edmondson ; Elena Ufimtseva ; Konrad Wilk ; Alessandro Di Federico ; a...@rev.ng ; shameerali.kolothum.th...@huawei.com ; wei.w.w...@intel.com ; chao.p.p...@linux.intel.com ; qemu-devel@nongnu.org ; Mark Burton Subject: Call for agenda for 2023-09

Re: Call for agenda for 2023-09-19 QEMU developers call

2023-09-18 Thread Elena Ufimtseva
On Tue, Sep 19, 2023 at 02:02:49AM +0200, Juan Quintela wrote: > Elena Ufimtseva wrote: > > Hello Juan, > > > > Not sure if this is worth its own topic, would be it possible to hear > > the community thoughts on the live migration series review/pull > > progres

[PATCH 1/4] multifd: wait for channels_ready before sending sync

2023-09-21 Thread Elena Ufimtseva
start with waiting for channels_ready semaphore. Changes to commit 90b3cec351996dd8ef4eb847ad38607812c5e7f5 ("multifd: Fix the number of channels ready") Signed-off-by: Elena Ufimtseva --- migration/multifd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration/m

[PATCH 2/4] migration: check for rate_limit_max for RATE_LIMIT_DISABLED

2023-09-21 Thread Elena Ufimtseva
In migration rate limiting atomic operations are used to read the rate limit variables and transferred bytes and they are expensive. Check first if rate_limit_max is equal to RATE_LIMIT_DISABLED and return false immediately if so. Signed-off-by: Elena Ufimtseva --- migration/migration-stats.c

[PATCH 3/4] multifd: fix counters in multifd_send_thread

2023-09-21 Thread Elena Ufimtseva
t as iov[0]. The packet_len part should be added to account for the size of MultiFDPacket and the array of the offsets. Signed-off-by: Elena Ufimtseva --- migration/multifd.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/migration/multifd.c b/migration/multifd.c index

[PATCH 0/4] multifd: various fixes

2023-09-21 Thread Elena Ufimtseva
/4, but fixes the over-accounting in case of sync only packet. Thank you in advance and looking forward for your feedback. Elena Elena Ufimtseva (4): multifd: wait for channels_ready before sending sync migration: check for rate_limit_max for RATE_LIMIT_DISABLED multifd: fix counters in

[PATCH 4/4] multifd: reset next_packet_len after sending pages

2023-09-21 Thread Elena Ufimtseva
multifd_send 136054.792 pid=18602 id=0x1 packet_num=0x574 normal=0x0 flags=0x0 next_packet_size=0x0 If there is a suggestion how to fix this properly, I will be glad to use it. Signed-off-by: Elena Ufimtseva --- migration/multifd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/migration

Re: [RFC PATCH 1/3] migration/multifd: Move channels_ready semaphore

2023-09-22 Thread Elena Ufimtseva
On Fri, Sep 22, 2023 at 11:53:17AM -0300, Fabiano Rosas wrote: > Commit d2026ee117 ("multifd: Fix the number of channels ready") moved > the "post" of channels_ready to the start of the multifd_send_thread() > loop and added a missing "wait" at multifd_send_sync_main(). While it > does work, the pl

Re: [PATCH 1/4] multifd: wait for channels_ready before sending sync

2023-09-22 Thread Elena Ufimtseva
On Fri, Sep 22, 2023 at 01:06:53PM -0300, Fabiano Rosas wrote: > Elena Ufimtseva writes: > > > In multifd_send_sync_main we need to wait for channels_ready > > before submitting sync packet as the threads may still be sending > > their previous pages. > > Ther

[PATCH v2 3/4] multifd: fix counters in multifd_send_thread

2023-10-11 Thread Elena Ufimtseva
t as iov[0]. The packet_len part should be added to account for the size of MultiFDPacket and the array of the offsets. Signed-off-by: Elena Ufimtseva Reviewed-by: Fabiano Rosas --- migration/multifd.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/migration/m

[PATCH v2 1/4] migration: check for rate_limit_max for RATE_LIMIT_DISABLED

2023-10-11 Thread Elena Ufimtseva
calling qemu_fflush() from migration_transferred_bytes() if the migration rate is not exceeded. This should be fine since migration thread calls in the loop migration_update_counters from migration_rate_limit() that calls the migration_transferred_bytes() and flushes there. Signed-off-by: Elena

[PATCH v2 4/4] multifd: reset next_packet_len after sending pages

2023-10-11 Thread Elena Ufimtseva
Sometimes multifd sends just sync packet with no pages (normal_num is 0). In this case the old value is being preserved and being accounted for while only packet_len is being transferred. Reset it to 0 after sending and accounting for. Signed-off-by: Elena Ufimtseva Reviewed-by: Fabiano Rosas

[PATCH v2 0/4] multifd: various fixes

2023-10-11 Thread Elena Ufimtseva
and moved discussion of the other issues under "---". Thank you in advance and looking forward for your feedback. Elena Ufimtseva (4): migration: check for rate_limit_max for RATE_LIMIT_DISABLED multifd: document packet_len, next_packet_size multifd: fix counters in multifd_s

[PATCH v2 2/4] multifd: document packet_len, next_packet_size

2023-10-11 Thread Elena Ufimtseva
used to indicate the size of the compressed buffer on source and destination. Will be it helpful to rename it as data_size or dirty_data_size? Signed-off-by: Elena Ufimtseva --- migration/multifd.h | 35 ++- 1 file changed, 30 insertions(+), 5 deletions(-) diff

Re: [PATCH v2 00/20] Use Intel DSA accelerator to offload zero page checking in multifd live migration.

2023-11-15 Thread Elena Ufimtseva
Hello Hao, On Mon, Nov 13, 2023 at 9:42 PM Hao Xiang wrote: > > v2 > * Rebase on top of 3e01f1147a16ca566694b97eafc941d62fa1e8d8. > * Leave Juan's changes in their original form instead of squashing them. > * Add a new commit to refactor the multifd_send_thread function to prepare > for introduc

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

Re: [PATCH RFC 2/2] migration: abort on destination if switchover limit exceeded

2024-07-26 Thread Elena Ufimtseva
On Wed, Jun 26, 2024 at 02:41:34PM -0400, Peter Xu wrote: > On Wed, Jun 26, 2024 at 12:04:43PM +0100, Joao Martins wrote: > > Are you thinking in something specifically? > > Not really. I don't think I have any idea on how to make it better, > unfortunately, but we did some measurement too quite s

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 proc

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: [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 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 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 v8 17/20] multi-process: heartbeat messages to remote

2020-08-15 Thread Elena Ufimtseva
On Tue, Aug 11, 2020 at 03:41:30PM +0100, Stefan Hajnoczi wrote: > On Fri, Jul 31, 2020 at 02:20:24PM -0400, Jagannathan Raman wrote: > > @@ -343,3 +349,49 @@ static void probe_pci_info(PCIDevice *dev, Error > > **errp) > > } > > } > > } > > + > > +static void hb_msg(PCIProxyDev *de

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. >

[PATCH RESEND v6 00/36] Initial support for multi-process qemu

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva Hello This is a resend of v6 patchset since we regrettably omitted few comments from v5 review in the previously sent series (see in https://lists.gnu.org/archive/html/qemu-devel/2020-04/msg00828.html). We also run more tests and fixed the build errors that were found in

[PATCH RESEND v6 03/36] command-line: refractor parser code

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva Refactor command-line parser code so that it could be used by other processes as well. Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- MAINTAINERS | 2 + Makefile.objs| 2 + include/qemu-parse.h | 42

[PATCH RESEND v6 01/36] memory: alloc RAM from file at offset

2020-04-22 Thread elena . ufimtseva
From: Jagannathan Raman Allow RAM MemoryRegion to be created from an offset in a file, instead of allocating at offset of 0 by default. This is needed to synchronize RAM between QEMU & remote process. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: E

[PATCH RESEND v6 04/36] multi-process: Refactor chardev functions out of vl.c

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva Some of the initialization helper functions w.r.t chardev in vl.c are also used by the remote process. Therefore, these functions are refactored into shared files that both QEMU & remote process could use. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Joh

[PATCH RESEND v6 06/36] monitor: destaticize HMP commands

2020-04-22 Thread elena . ufimtseva
From: Jagannathan Raman Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Reviewed-by: Dr. David Alan Gilbert --- hmp-commands.hx| 4 +- monitor/misc.c | 76 +++--- monitor/monitor

[PATCH RESEND v6 19/36] multi-process: Connect Proxy Object with device in the remote process

2020-04-22 Thread elena . ufimtseva
From: Jagannathan Raman Send a message to the remote process to connect PCI device with the corresponding Proxy object in QEMU Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/proxy/qemu-proxy.c| 34

[PATCH RESEND v6 13/36] multi-process: setup PCI host bridge for remote device

2020-04-22 Thread elena . ufimtseva
: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- MAINTAINERS | 2 ++ hw/pci/Makefile.objs | 2 +- include/remote/pcihost.h | 45 remote/Makefile.objs | 1 + remote/pcihost.c | 64

[PATCH RESEND v6 05/36] multi-process: Refactor monitor functions out of vl.c

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva Some of the initialization helper functions w.r.t monitor in vl.c are also used by the remote process. Therefore, these functions are refactored into shared files that both QEMU & remote process could use. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Joh

[PATCH RESEND v6 09/36] multi-process: Add config option for multi-process QEMU

2020-04-22 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

[PATCH RESEND v6 21/36] multi-process: PCI BAR read/write handling for proxy & remote endpoints

2020-04-22 Thread elena . ufimtseva
. Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson --- hw/proxy/qemu-proxy.c | 64 ++ include/hw/proxy/qemu-proxy.h | 20 - include/io/mpqemu-link.h | 12 + io/mpqemu-link.c | 6 +++ remote

[PATCH RESEND v6 31/36] multi-process/mon: choose HMP commands based on target

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva Add "targets" field to HMP command definition to select the targets which would be supported by each command Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hmp-commands-info.hx | 10 ++ hmp-c

[PATCH RESEND v6 07/36] multi-process: add a command line option for debug file

2020-04-22 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 Reviewed-by: Stefan Hajnoczi --- include/qemu/log.h | 1 + util/log.c | 2 ++ 2 files changed, 3

[PATCH RESEND v6 33/36] multi-process/mon: enable QMP module support in the remote process

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva Build system changes to enable QMP module in the remote process Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- Makefile.objs | 10 ++ Makefile.target | 35

[PATCH RESEND v6 22/36] multi-process: Synchronize remote memory

2020-04-22 Thread elena . ufimtseva
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 --- MAINTAINERS| 2 + Makefile.target| 3 + hw

[PATCH RESEND v6 16/36] multi-process: remote process initialization

2020-04-22 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

[PATCH RESEND v6 15/36] multi-process: setup memory manager for remote device

2020-04-22 Thread elena . ufimtseva
. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- MAINTAINERS | 2 ++ Makefile.target | 2 ++ exec.c | 17 +++ include/exec/ram_addr.h | 2 ++ include/io/mpqemu-link.h | 12 include

[PATCH RESEND v6 18/36] multi-process: Initialize Proxy Object's communication channel

2020-04-22 Thread elena . ufimtseva
From: Jagannathan Raman Add "socket" object property which initializes the communication channel Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- hw/proxy/qemu-proxy.c | 20 1 file changed, 20 insertions(+) di

[PATCH RESEND v6 20/36] multi-process: Forward PCI config space acceses to the remote process

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva The Proxy Object sends the PCI config space accesses as messages to the remote process over the communication channel Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- hw/proxy/qemu-proxy.c| 61

[PATCH RESEND v6 29/36] multi-process: handle heartbeat messages in remote process

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva If the remote process is alive, it responds to proxy's heartbeat messages Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- remote/remote-main.c | 5 + 1 file changed, 5 insertions(+) diff --git a/remote/r

[PATCH RESEND v6 30/36] multi-process: perform device reset in the remote process

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva Perform device reset in the remote process when QEMU performs device reset. This is required to reset the internal state (like registers, etc...) of emulated devices Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw

[PATCH RESEND v6 23/36] multi-process: create IOHUB object to handle irq

2020-04-22 Thread elena . ufimtseva
-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- MAINTAINERS | 2 + Makefile.target | 1 + hw/Makefile.objs | 2 - hw/proxy/Makefile.objs| 1 - hw/proxy/qemu-proxy.c | 52

[PATCH RESEND v6 27/36] multi-process: add support to parse device option

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva Enable remote process to parse device command line option Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- remote/remote-opts.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/remote/remote-opts.c b

[PATCH RESEND v6 25/36] multi-process: Introduce build flags to separate remote process code

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva Introduce SCSI_PROCESS & REMOTE_PROCESS build flags to separate code that applies only to remote processes. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- Makefile.target | 4 rules.mak | 2 +- 2 f

[PATCH RESEND v6 34/36] multi-process/mon: Initialize QMP module for remote processes

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- remote/remote-main.c | 13 + remote/remote-opts.c | 11 +++ 2 files changed, 24 insertions(+) diff --git a/remote/remote-main.c b/remote/remote-main.c

[PATCH RESEND v6 32/36] multi-process/mon: stub functions to enable QMP module for remote process

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva QMP module doesn't need some functions to run independently on the remote processes. However, these functions are necessary for compilation. Therefore, these functions are stub'ed out. The stub functions raise an assert if QEMU is built in debug mode (--en

[PATCH RESEND v6 10/36] multi-process: build system for remote device process

2020-04-22 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 --- MAINTAINERS | 8 ++ Makefile

[PATCH RESEND v6 02/36] multi-process: Refactor machine_init and exit notifiers

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva Relocate machine_int and exit notifiers into common code Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- MAINTAINERS | 1 + Makefile.objs | 1 + include/sysemu/sysemu.h | 2

[PATCH RESEND v6 35/36] multi-process: add the concept description to docs/devel/qemu-multiprocess

2020-04-22 Thread elena . ufimtseva
From: John G Johnson Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- MAINTAINERS | 1 + docs/devel/index.rst | 1 + docs/devel/multi-process.rst | 957 +++ 3 files changed, 959

[PATCH RESEND v6 08/36] multi-process: Add stub functions to facilitate build of multi-process

2020-04-22 Thread elena . ufimtseva
From: Jagannathan Raman Add stub functions that are needed during compile time but not in runtime. To avoid duplicate symbol while linking for monitor_get_fd, put in a separate file. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva

[PATCH RESEND v6 17/36] multi-process: introduce proxy object

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva Defines a PCI Device proxy object as a parent of TYPE_PCI_DEVICE. PCI Proxy Object registers as a PCI device with QEMU and forwards all PCI accesses to the remote process using the communication channel. Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman

[PATCH RESEND v6 12/36] multi-process: add functions to synchronize proxy and remote endpoints

2020-04-22 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

[PATCH RESEND v6 11/36] multi-process: define mpqemu-link object

2020-04-22 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 --- MAINTAINERS | 2 + include/io/mpqemu-link.h | 127 io/Makefile.objs | 2 + io/mpqemu-link.c |

[PATCH RESEND v6 24/36] multi-process: Retrieve PCI info from remote process

2020-04-22 Thread elena . ufimtseva
From: Jagannathan Raman Retrieve PCI configuration info about the remote device and configure the Proxy PCI object based on the returned information Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/proxy/qemu-proxy.c| 84

[PATCH RESEND v6 26/36] multi-process: add parse_cmdline in remote process

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- MAINTAINERS | 2 ++ remote/Makefile.objs | 1 + remote/remote-main.c | 21 - remote/remote-opts.c | 75

[PATCH RESEND v6 14/36] multi-process: setup a machine object for remote device process

2020-04-22 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 Ufimt

[PATCH RESEND v6 28/36] multi-process: send heartbeat messages to remote

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva In order to detect remote processes which are hung, the proxy periodically sends heartbeat messages to confirm if the remote process is alive Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- hw/proxy/qemu-proxy.c

[PATCH RESEND v6 36/36] multi-process: add configure and usage information

2020-04-22 Thread elena . ufimtseva
From: Elena Ufimtseva Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- MAINTAINERS | 2 + docs/multi-process.rst | 85 + scripts/mpqemu-launcher-perf-mode.py | 92

[PATCH v7 10/21] multi-process: setup memory manager for remote device

2020-06-27 Thread elena . ufimtseva
. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- MAINTAINERS | 2 ++ hw/i386/Makefile.objs | 1 + hw/i386/remote-memory.c | 58 + include/hw/i386/remote-memory.h | 20

[PATCH v7 01/21] memory: alloc RAM from file at offset

2020-06-27 Thread elena . ufimtseva
From: Jagannathan Raman Allow RAM MemoryRegion to be created from an offset in a file, instead of allocating at offset of 0 by default. This is needed to synchronize RAM between QEMU & remote process. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: E

[PATCH v7 07/21] multi-process: add co-routines to communicate with remote

2020-06-27 Thread elena . ufimtseva
From: Elena Ufimtseva process to avoid blocking the main loop during the message exchanges. To be used by proxy device. Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- include/io/mpqemu-link.h | 16 + io/mpqemu-link.c | 78

[PATCH v7 06/21] multi-process: define MPQemuMsg format and transmission functions

2020-06-27 Thread elena . ufimtseva
From: Elena Ufimtseva Defines MPQemuMsg, which is the message that is sent to the remote process. This message is sent over QIOChannel and is used to command the remote process to perform various tasks. Also defined the helper functions to send and receive messages over the QIOChannel Signed

[PATCH v7 11/21] multi-process: introduce proxy object

2020-06-27 Thread elena . ufimtseva
From: Elena Ufimtseva Defines a PCI Device proxy object as a child of TYPE_PCI_DEVICE. Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson --- MAINTAINERS| 2 ++ hw/pci/Makefile.objs | 1 + hw/pci/proxy.c | 70

[PATCH v7 00/21] Initial support for multi-process qemu

2020-06-27 Thread elena . ufimtseva
From: Elena Ufimtseva Hello This is the v7 of the patchset. Thank you very much for the detailed feedback for v6. We appreciate your time. We have addressed the latest comments and suggestions that were provided on v6 patch series and incorporated to this patchset. This is the list of changes

[PATCH v7 12/21] multi-process: Connect Proxy Object with device in the remote process

2020-06-27 Thread elena . ufimtseva
From: Jagannathan Raman Send a message to the remote process to connect PCI device with the corresponding Proxy object in QEMU Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/i386/remote-msg.c | 39

[PATCH v7 13/21] multi-process: Forward PCI config space acceses to the remote process

2020-06-27 Thread elena . ufimtseva
From: Elena Ufimtseva The Proxy Object sends the PCI config space accesses as messages to the remote process over the communication channel TODO: Investigate if the local PCI config writes can be dropped. Without the proxy local PCI config space writes for the device, the driver in the guest

[PATCH v7 18/21] multi-process: heartbeat messages to remote

2020-06-27 Thread elena . ufimtseva
From: Elena Ufimtseva In order to detect remote processes which are hung, the proxy periodically sends heartbeat messages to confirm if the remote process is alive. The remote process responds to this heartbeat message to confirm it is alive. Signed-off-by: Jagannathan Raman Signed-off-by

[PATCH v7 16/21] multi-process: create IOHUB object to handle irq

2020-06-27 Thread elena . ufimtseva
-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- MAINTAINERS | 2 + hw/Makefile.objs | 1 + hw/i386/remote-msg.c | 4 + hw/i386/remote.c | 15 hw/pci/proxy.c| 52 + hw/remote

[PATCH v7 03/21] multi-process: setup PCI host bridge for remote device

2020-06-27 Thread elena . ufimtseva
: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva --- MAINTAINERS | 8 + hw/pci-host/Makefile.objs| 1 + hw/pci-host/remote.c | 63 include/hw/pci-host/remote.h | 34 +++ 4 files

  1   2   3   4   >