qemu-e2k/docs/interop
Raphael Norwitz f1aeb14b08 Transmit vhost-user memory regions individually
With this change, when the VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS
protocol feature has been negotiated, Qemu no longer sends the backend
all the memory regions in a single message. Rather, when the memory
tables are set or updated, a series of VHOST_USER_ADD_MEM_REG and
VHOST_USER_REM_MEM_REG messages are sent to transmit the regions to map
and/or unmap instead of sending send all the regions in one fixed size
VHOST_USER_SET_MEM_TABLE message.

The vhost_user struct maintains a shadow state of the VM’s memory
regions. When the memory tables are modified, the
vhost_user_set_mem_table() function compares the new device memory state
to the shadow state and only sends regions which need to be unmapped or
mapped in. The regions which must be unmapped are sent first, followed
by the new regions to be mapped in. After all the messages have been
sent, the shadow state is set to the current virtual device state.

Existing backends which do not support
VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS are unaffected.

Signed-off-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
Signed-off-by: Peter Turschmid <peter.turschm@nutanix.com>
Suggested-by: Mike Cui <cui@nutanix.com>
Message-Id: <1588533678-23450-5-git-send-email-raphael.norwitz@nutanix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2020-06-12 10:17:06 -04:00
..
bitmaps.rst docs/bitmaps: use QMP lexer instead of json 2019-07-10 15:08:07 -04:00
conf.py docs: Move tools documentation to tools manual 2020-02-25 10:48:06 +00:00
dbus-vmstate.rst Add dbus-vmstate object 2020-01-06 18:41:32 +04:00
dbus.rst Add dbus-vmstate object 2020-01-06 18:41:32 +04:00
firmware.json hw/ppc/prep: Remove the deprecated "prep" machine and the OpenHackware BIOS 2020-02-02 14:07:57 +11:00
index.rst docs: Move tools documentation to tools manual 2020-02-25 10:48:06 +00:00
live-block-operations.rst
nbd.txt nbd: Prepare for NBD_CMD_FLAG_FAST_ZERO 2019-09-05 16:03:13 -05:00
parallels.txt
pr-helper.rst global: Squash 'the the' 2019-11-06 17:19:40 +01:00
prl-xml.txt
qcow2.txt qcow2: add zstd cluster compression 2020-05-13 14:20:31 +02:00
qed_spec.txt
qemu-ga-ref.texi
qemu-ga.rst qemu-ga: document vsock-listen in the man page 2020-03-24 11:32:19 -05:00
qemu-qmp-ref.texi
qmp-intro.txt
qmp-spec.txt
vhost-user-gpu.rst vhost-user: add vhost_user_gpu_set_socket() 2019-05-29 06:29:07 +02:00
vhost-user.json virtiofsd: add --print-capabilities option 2020-01-23 16:41:36 +00:00
vhost-user.rst Transmit vhost-user memory regions individually 2020-06-12 10:17:06 -04:00
vnc-ledstate-Pseudo-encoding.txt