Re: [PATCH 2/2] migration/multifd: Fix rb->receivedmap cleanup race

2024-09-20 Thread Elena Ufimtseva
On Fri, Sep 13, 2024 at 3:07 PM Fabiano Rosas wrote: > Fix a segmentation fault in multifd when rb->receivedmap is cleared > too early. > > After commit 5ef7e26bdb ("migration/multifd: solve zero page causing > multiple page faults"), multifd started using the rb->receivedmap > bitmap, which belo

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

[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

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

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

[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

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

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

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

[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

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

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

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

[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

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

[PATCH RFC v2 16/16] vfio-user: migration support

2021-08-16 Thread Elena Ufimtseva
From: John Johnson Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- hw/vfio/user-protocol.h | 18 + hw/vfio/user.h | 3 +++ hw/vfio/common.c| 23 - hw/vfio/migration.c | 34

[PATCH RFC v2 12/16] vfio-user: proxy container connect/disconnect

2021-08-16 Thread Elena Ufimtseva
From: John Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- include/hw/vfio/vfio-common.h | 3 ++ hw/vfio/common.c | 84 +++ hw/vfio/pci.c | 22 + 3 files changed

[PATCH RFC v2 13/16] vfio-user: dma map/unmap operations

2021-08-16 Thread Elena Ufimtseva
From: John Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson --- hw/vfio/user-protocol.h | 32 + hw/vfio/user.h| 6 ++ include/hw/vfio/vfio-common.h | 1 + hw/vfio/common.c | 71

[PATCH RFC v2 01/16] vfio-user: introduce vfio-user protocol specification

2021-08-16 Thread Elena Ufimtseva
From: Thanos Makatos This patch introduces the vfio-user protocol specification (formerly known as VFIO-over-socket), which is designed to allow devices to be emulated outside QEMU, in a separate process. vfio-user reuses the existing VFIO defines, structs and concepts. This patch is sourced fro

[PATCH RFC v2 10/16] vfio-user: pci_user_realize PCI setup

2021-08-16 Thread Elena Ufimtseva
From: John Johnson PCI BARs read from remote device PCI config reads/writes sent to remote server Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/pci.c | 210 +- 1 file changed, 175

[PATCH RFC v2 02/16] vfio-user: add VFIO base abstract class

2021-08-16 Thread Elena Ufimtseva
From: John Johnson Add an abstract base class both the kernel driver and user socket implementations can use to share code. Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- hw/vfio/pci.h | 16 +++-- hw/vfio/pci.c | 63

[PATCH RFC v2 08/16] vfio-user: get region info

2021-08-16 Thread Elena Ufimtseva
From: John Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/user-protocol.h | 14 +++ hw/vfio/user.h| 2 + include/hw/vfio/vfio-common.h | 3 ++ hw/vfio/common.c | 76

[PATCH RFC v2 14/16] vfio-user: dma read/write operations

2021-08-16 Thread Elena Ufimtseva
From: John Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/user-protocol.h | 11 +++ hw/vfio/user.h | 1 + hw/vfio/pci.c | 63 - hw/vfio/user.c | 7

[PATCH RFC v2 15/16] vfio-user: pci reset

2021-08-16 Thread Elena Ufimtseva
From: John Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/user.h | 1 + hw/vfio/pci.c | 29 ++--- hw/vfio/user.c | 12 3 files changed, 39 insertions(+), 3 deletions(-) diff --git a/hw

[PATCH RFC v2 11/16] vfio-user: get and set IRQs

2021-08-16 Thread Elena Ufimtseva
From: John Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/user-protocol.h | 25 ++ hw/vfio/user.h | 2 + hw/vfio/common.c| 26 -- hw/vfio/pci.c | 31 ++-- hw/vfio/user.c

[PATCH RFC v2 06/16] vfio-user: negotiate version with remote server

2021-08-16 Thread Elena Ufimtseva
From: John Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson --- hw/vfio/user-protocol.h | 23 hw/vfio/user.h | 1 + hw/vfio/pci.c | 9 ++ hw/vfio/user.c | 267

[PATCH RFC v2 07/16] vfio-user: get device info

2021-08-16 Thread Elena Ufimtseva
From: John Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/user-protocol.h | 13 + hw/vfio/user.h | 1 + hw/vfio/pci.c | 13 + hw/vfio/user.c | 20 4

[PATCH RFC v2 05/16] vfio-user: define VFIO Proxy and communication functions

2021-08-16 Thread Elena Ufimtseva
From: John Johnson Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- hw/vfio/user-protocol.h | 62 + hw/vfio/user.h | 8 ++ hw/vfio/pci.c | 6 + hw/vfio/user.c | 289

[PATCH RFC v2 03/16] vfio-user: Define type vfio_user_pci_dev_info

2021-08-16 Thread Elena Ufimtseva
From: John Johnson New class for vfio-user with its class and instance constructors and destructors, and its pci ops. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/pci.h | 9 ++ hw/vfio/pci.c | 86

[PATCH RFC v2 04/16] vfio-user: connect vfio proxy to remote server

2021-08-16 Thread Elena Ufimtseva
From: John Johnson Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- hw/vfio/user.h| 66 ++ include/hw/vfio/vfio-common.h | 2 + hw/vfio/pci.c | 29 ++ hw/vfio/user.c| 160

[PATCH RFC v2 00/16] vfio-user implementation

2021-08-16 Thread Elena Ufimtseva
also worked on implementing a client and will be sending this patch series shortly. Contributors: John G Johnson John Levon Thanos Makatos Elena Ufimtseva Jagannathan Raman Changes in v2: - combine some patches with relevant functionality. - use SocketAddress with idea to modify late

[PATCH RFC v2 09/16] vfio-user: region read/write

2021-08-16 Thread Elena Ufimtseva
From: John Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/user-protocol.h | 12 hw/vfio/user.h | 4 hw/vfio/common.c| 16 +-- hw/vfio/user.c | 43

[PATCH RFC 18/19] vfio-user: migration support

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Send migration region operations to remote server. Send VFIO_USER_USER_DIRTY_PAGES to get remote dirty bitmap. Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- hw/vfio/user.h | 17 +++ hw/vfio/common.c

[PATCH RFC 13/19] vfio-user: respond to remote DMA read/write requests

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/user.h | 16 hw/vfio/pci.c | 67 ++ hw/vfio/user.c | 21 +++- 3 files changed, 103

[PATCH RFC 16/19] vfio-user: pci reset

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Send VFIO_USER_DEVICE_RESET to reset remote device. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/user.h | 1 + hw/vfio/pci.c | 29 ++--- hw/vfio/user.c | 12 3 files

[PATCH RFC 19/19] vfio-user: add migration cli options and version negotiation

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- hw/vfio/user.h | 4 hw/vfio/pci.c | 5 + hw/vfio/user.c | 33 + 3 files changed, 42 insertions(+) diff --git a/hw/vfio/user.h b

[PATCH RFC 11/19] vfio-user: get region and DMA map/unmap operations

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Send VFIO_USER_DEVICE_GET_REGION_INFO to get device regions and VFIO_USER_DMA_MAP/UNMAP to tell remote server the DMA addresses it can access. Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson --- hw/vfio/user.h

[PATCH RFC 17/19] vfio-user: probe remote device ROM BAR

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/pci.c | 38 ++ 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index a6c28dac03

[PATCH RFC 00/19] vfio-user implementation

2021-07-18 Thread Elena Ufimtseva
ll be sending this patch series shortly. Contributors: John G Johnson John Levon Thanos Makatos Elena Ufimtseva Jagannathan Raman Please send your comments and questions! Thank you. References: [1] https://wiki.qemu.org/Features/MultiProcessQEMU [2] https://patchwork.kernel.org/project/qemu-

[PATCH RFC 01/19] vfio-user: introduce vfio-user protocol specification

2021-07-18 Thread Elena Ufimtseva
From: Thanos Makatos This patch introduces the vfio-user protocol specification (formerly known as VFIO-over-socket), which is designed to allow devices to be emulated outside QEMU, in a separate process. vfio-user reuses the existing VFIO defines, structs and concepts. This patch is sourced fro

[PATCH RFC 09/19] vfio-user: get device info and get irq info

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Send VFIO_USER_DEVICE_GET_INFO and VFIO_USER_DEVICE_GET_IRQ_INFO commands. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/user.h | 27 +++ hw/vfio/pci.c | 32

[PATCH RFC 12/19] vfio-user: probe remote device's BARs

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/pci.c | 32 +++- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 054e673552

[PATCH RFC 14/19] vfio_user: setup MSI/X interrupts and PCI config operations

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Send VFIO_USER_DEVICE_SET_IRQS to setup interrup configuration. vfio_pci_write_config/vfio_pci_read_config iforms the remote server of PCI config space reads and writes. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw

[PATCH RFC 15/19] vfio-user: vfio user device realize

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Setup INTx interrupts and a device region info cache for remote device info. Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva --- include/hw/vfio/vfio-common.h | 1 + hw/vfio/common.c | 33

[PATCH RFC 06/19] vfio-user: negotiate protocol with remote server

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Send version and capabilities and validate reply. Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson --- hw/vfio/user.h | 8 ++ hw/vfio/pci.c | 10 +++ hw/vfio/user.c | 223

[PATCH RFC 02/19] vfio-user: add VFIO base abstract class

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Add an abstract base class both the kernel driver and user socket implementations can use to share code. Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- hw/vfio/pci.h | 25 ++-- hw/vfio/pci.c | 63

[PATCH RFC 05/19] vfio-user: connect vfio proxy to remote server

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/user.h | 2 ++ hw/vfio/pci.c | 16 ++ hw/vfio/user.c | 87 ++ 3 files changed, 105 insertions(+) diff

[PATCH RFC 10/19] vfio-user: device region read/write

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Send VFIO_REGION_READ and VFIO_REGION_WRITE commands. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/user.h | 16 hw/vfio/common.c | 17 +++-- hw/vfio/pci.c| 13

[PATCH RFC 07/19] vfio-user: define vfio-user pci ops

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/pci.c | 31 +++ 1 file changed, 31 insertions(+) diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 8ca1431cca..388b7d82d7 100644 --- a/hw

[PATCH RFC 03/19] vfio-user: define VFIO Proxy and communication functions

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Add user.c and user.h files for vfio-user with the basic send and receive functions. Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman --- hw/vfio/user.h| 120 ++ include/hw/vfio/vfio-common.h | 2

[PATCH RFC 08/19] vfio-user: VFIO container setup & teardown

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson Create SW-emulated containers and groups for vfio-user in lieu of the host IOMMU based ones used by the kernel driver VFIO implementation. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- include/hw/vfio/vfio-common.h

[PATCH RFC 04/19] vfio-user: Define type vfio_user_pci_dev_info

2021-07-18 Thread Elena Ufimtseva
From: John G Johnson New class for vfio-user with its class and instance constructors and destructors. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- hw/vfio/pci.c | 49 + 1 file changed, 49

Re: [PATCH v21 00/20] Initial support for multi-process Qemu

2021-02-03 Thread Elena Ufimtseva
On Wed, Feb 03, 2021 at 04:11:50PM +, Stefan Hajnoczi wrote: > On Fri, Jan 29, 2021 at 11:46:01AM -0500, Jagannathan Raman wrote: > > This is the v21 of the patchset. This version has the following changes: > > The docs/multi-process.rst file caused Sphinx to fail with "document > isn't includ

Re: [PATCH] multi-process: Acceptance test for multiprocess QEMU

2020-12-23 Thread Elena Ufimtseva
On Wed, Dec 23, 2020 at 03:01:24PM +0400, Marc-André Lureau wrote: > Hi > > On Wed, Dec 23, 2020 at 10:45 AM wrote: > > > From: Jagannathan Raman > > > > Runs the Avocado acceptance test to check if a > > remote lsi53c895a device gets identified by the

[PATCH v15 18/20] multi-process: create IOHUB object to handle irq

2020-12-22 Thread elena . ufimtseva
-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva Reviewed-by: Stefan Hajnoczi --- include/hw/pci/pci_ids.h| 3 + include/hw/remote/iohub.h | 42 +++ include/hw/remote/machine.h | 3 + include/hw/remote/mpqemu-link.h | 1

[PATCH v15 19/20] multi-process: Retrieve PCI info from remote process

2020-12-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 Reviewed-by: Stefan Hajnoczi --- hw/remote

[PATCH v15 16/20] multi-process: PCI BAR read/write handling for proxy & remote endpoints

2020-12-22 Thread elena . ufimtseva
. Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Reviewed-by: Stefan Hajnoczi --- include/hw/remote/mpqemu-link.h | 10 include/hw/remote/proxy.h | 10 hw/remote/message.c | 83 + hw/remote

[PATCH v15 08/20] multi-process: add qio channel read function

2020-12-22 Thread elena . ufimtseva
From: Elena Ufimtseva Adds qio_channel_readv_full_all() to read both data and FDs. Refactors existing code to use this function. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- include/io/channel.h | 25 + io/channel.c

[PATCH v15 06/20] multi-process: setup a machine object for remote device process

2020-12-22 Thread elena . ufimtseva
From: Jagannathan Raman x-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 Reviewe

[PATCH] multi-process: Acceptance test for multiprocess QEMU

2020-12-22 Thread elena . ufimtseva
From: Jagannathan Raman Runs the Avocado acceptance test to check if a remote lsi53c895a device gets identified by the guest. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- tests/acceptance/multiprocess.py | 104

[PATCH v15 07/20] multi-process: add qio channel write function

2020-12-22 Thread elena . ufimtseva
From: Elena Ufimtseva Adds qio_channel_writev_full_all() to transmit both data and FDs. Refactors existing code to use this function. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Reviewed-by: Stefan Hajnoczi --- include/io/channel.h | 25

[PATCH v15 20/20] multi-process: perform device reset in the remote process

2020-12-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 Reviewed

[PATCH v15 09/20] multi-process: define MPQemuMsg format and transmission functions

2020-12-22 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. Define transmission functions used by proxy and by remote. Signed-off-by: Jagannathan Raman

[PATCH v15 12/20] multi-process: setup memory manager for remote device

2020-12-22 Thread elena . ufimtseva
. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Reviewed-by: Stefan Hajnoczi --- include/hw/remote/memory.h | 19 ++ include/hw/remote/mpqemu-link.h | 10 + hw/remote/memory.c | 65 + hw

[PATCH v15 17/20] multi-process: Synchronize remote memory

2020-12-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 Reviewed-by: Stefan Hajnoczi --- include/hw/remote/proxy-memory-listener.h | 28

[PATCH v15 10/20] multi-process: Initialize message handler in remote device

2020-12-22 Thread elena . ufimtseva
From: Jagannathan Raman Initializes the message handler function in the remote process. It is called whenever there's an event pending on QIOChannel that registers this function. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Reviewed-by: S

[PATCH v15 15/20] multi-process: Forward PCI config space acceses to the remote process

2020-12-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 Reviewed-by: Stefan Hajnoczi --- include/hw/remote

[PATCH v15 13/20] multi-process: introduce proxy object

2020-12-22 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 Reviewed-by: Stefan Hajnoczi --- include/hw/remote/proxy.h | 36 ++ hw/remote/proxy.c

[PATCH v15 00/20] Initial support for multi-process Qemu

2020-12-22 Thread elena . ufimtseva
From: Elena Ufimtseva Hi This is the v15 of the patchset. Thank you for your time reviewing v14. This version has the following changes: - [PATCH v15 08/20] multi-process: add qio channel read function Prevent memory leaks by closing file descriptors and freeing memory for fd array on

[PATCH v15 03/20] memory: alloc RAM from file at offset

2020-12-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 v15 04/20] multi-process: Add config option for multi-process QEMU

2020-12-22 Thread elena . ufimtseva
From: Jagannathan Raman Add configuration options to enable or disable multiprocess QEMU code Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Signed-off-by: Elena Ufimtseva Reviewed-by: Stefan Hajnoczi --- configure | 10 ++ meson.build | 2

[PATCH v15 14/20] multi-process: add proxy communication functions

2020-12-22 Thread elena . ufimtseva
From: Elena Ufimtseva Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Reviewed-by: Stefan Hajnoczi --- include/hw/remote/mpqemu-link.h | 4 hw/remote/mpqemu-link.c | 34 + 2 files changed, 38

[PATCH v15 01/20] multi-process: add the concept description to docs/devel/qemu-multiprocess

2020-12-22 Thread elena . ufimtseva
From: John G Johnson Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Reviewed-by: Stefan Hajnoczi --- docs/devel/index.rst | 1 + docs/devel/multi-process.rst | 966 +++ MAINTAINERS

[PATCH v15 11/20] multi-process: Associate fd of a PCIDevice with its object

2020-12-22 Thread elena . ufimtseva
From: Jagannathan Raman Associate the file descriptor for a PCIDevice in remote process with DeviceState object. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Reviewed-by: Stefan Hajnoczi --- hw/remote/remote-obj.c | 208

[PATCH v15 02/20] multi-process: add configure and usage information

2020-12-22 Thread elena . ufimtseva
From: Elena Ufimtseva Adds documentation explaining the command-line arguments needed to use multi-process. Signed-off-by: Elena Ufimtseva Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Reviewed-by: Stefan Hajnoczi --- docs/multi-process.rst | 64

[PATCH v15 05/20] multi-process: setup PCI host bridge for remote device

2020-12-22 Thread elena . ufimtseva
: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Reviewed-by: Stefan Hajnoczi --- include/hw/pci-host/remote.h | 30 +++ hw/pci-host/remote.c | 75 MAINTAINERS | 2 + hw/pci-host/Kconfig

[PATCH v14 RESEND 18/21] multi-process: Synchronize remote memory

2020-12-17 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 Reviewed-by: Stefan Hajnoczi --- include/hw/remote/proxy-memory-listener.h | 28

[PATCH v14 RESEND 13/21] multi-process: setup memory manager for remote device

2020-12-17 Thread elena . ufimtseva
. Signed-off-by: Jagannathan Raman Signed-off-by: John G Johnson Signed-off-by: Elena Ufimtseva Reviewed-by: Stefan Hajnoczi --- include/hw/remote/memory.h | 19 ++ include/hw/remote/mpqemu-link.h | 10 + hw/remote/memory.c | 65 + hw

[PATCH v14 RESEND 14/21] multi-process: introduce proxy object

2020-12-17 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 Reviewed-by: Stefan Hajnoczi --- include/hw/remote/proxy.h | 36 hw/remote/proxy.c

[PATCH v14 RESEND 08/21] multi-process: add qio channel write function

2020-12-17 Thread elena . ufimtseva
From: Elena Ufimtseva Adds qio_channel_writev_full_all() to transmit both data and FDs. Refactors existing code to use this function. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman --- include/io/channel.h | 25 + io

[PATCH v14 RESEND 11/21] multi-process: Initialize message handler in remote device

2020-12-17 Thread elena . ufimtseva
From: Jagannathan Raman Initializes the message handler function in the remote process. It is called whenever there's an event pending on QIOChannel that registers this function. Signed-off-by: Elena Ufimtseva Signed-off-by: John G Johnson Signed-off-by: Jagannathan Raman Reviewed-by: S

  1   2   3   4   >