qemu-e2k/qapi
Peter Xu ce5b0f4afc migration: Add postcopy-preempt capability
Firstly, postcopy already preempts precopy due to the fact that we do
unqueue_page() first before looking into dirty bits.

However that's not enough, e.g., when there're host huge page enabled, when
sending a precopy huge page, a postcopy request needs to wait until the whole
huge page that is sending to finish.  That could introduce quite some delay,
the bigger the huge page is the larger delay it'll bring.

This patch adds a new capability to allow postcopy requests to preempt existing
precopy page during sending a huge page, so that postcopy requests can be
serviced even faster.

Meanwhile to send it even faster, bypass the precopy stream by providing a
standalone postcopy socket for sending requested pages.

Since the new behavior will not be compatible with the old behavior, this will
not be the default, it's enabled only when the new capability is set on both
src/dst QEMUs.

This patch only adds the capability itself, the logic will be added in follow
up patches.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20220707185342.26794-2-peterx@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
2022-07-20 12:15:08 +01:00
..
acpi.json
audio.json
authz.json
block-core.json block/copy-before-write: implement cbw-timeout option 2022-06-29 10:56:12 +03:00
block-export.json vduse-blk: Add name option 2022-06-24 17:07:06 +02:00
block.json block: add more commands to preconfig mode 2022-06-14 16:50:30 +02:00
char.json
common.json
compat.json
control.json
crypto.json
dump.json
error.json
introspect.json
job.json
machine-target.json target/loongarch: Implement qmp_query_cpu_definitions() 2022-06-06 18:09:03 +00:00
machine.json hw/cxl: Make the CXL fixed memory window setup a machine parameter. 2022-06-09 19:32:49 -04:00
meson.build qmp: Support for querying stats 2022-06-14 16:50:29 +02:00
migration.json migration: Add postcopy-preempt capability 2022-07-20 12:15:08 +01:00
misc-target.json
misc.json vfio-user: run vfio-user context 2022-06-15 16:43:42 +01:00
net.json Trivial: 3 char repeat typos 2022-06-28 11:06:02 +02:00
opts-visitor.c
pci.json
pragma.json
qapi-clone-visitor.c
qapi-dealloc-visitor.c
qapi-forward-visitor.c
qapi-schema.json qmp: Support for querying stats 2022-06-14 16:50:29 +02:00
qapi-type-helpers.c
qapi-util.c
qapi-visit-core.c
qdev.json
qmp-dispatch.c
qmp-event.c
qmp-registry.c
qobject-input-visitor.c
qobject-output-visitor.c
qom.json vfio-user: define vfio-user-server object 2022-06-15 16:43:42 +01:00
rdma.json
replay.json
rocker.json
run-state.json
sockets.json
stats.json qmp: add filtering of statistics by name 2022-06-14 16:50:30 +02:00
string-input-visitor.c
string-output-visitor.c
tpm.json
trace-events
trace.h
trace.json
transaction.json
ui.json gtk: Add show_tabs=on|off command line option. 2022-07-19 14:36:42 +02:00
yank.json