qemu/docs/devel
Avihai Horon 94f775e428 vfio/migration: Add P2P support for VFIO migration
VFIO migration uAPI defines an optional intermediate P2P quiescent
state. While in the P2P quiescent state, P2P DMA transactions cannot be
initiated by the device, but the device can respond to incoming ones.
Additionally, all outstanding P2P transactions are guaranteed to have
been completed by the time the device enters this state.

The purpose of this state is to support migration of multiple devices
that might do P2P transactions between themselves.

Add support for P2P migration by transitioning all the devices to the
P2P quiescent state before stopping or starting the devices. Use the new
VMChangeStateHandler prepare_cb to achieve that behavior.

This will allow migration of multiple VFIO devices if all of them
support P2P migration.

Signed-off-by: Avihai Horon <avihaih@nvidia.com>
Tested-by: YangHang Liu <yanghliu@redhat.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
2023-09-11 08:34:05 +02:00
..
acpi-bits.rst Revert "tests: Use separate virtual environment for avocado" 2023-08-28 09:55:48 +02:00
atomics.rst atomics: eliminate mb_read/mb_set 2023-06-06 09:42:14 +02:00
bitops.rst
blkdebug.txt
blkverify.txt
block-coroutine-wrapper.rst block-coroutine-wrapper.py: introduce co_wrapper 2022-12-15 16:07:43 +01:00
build-system.rst meson: list leftover CONFIG_* symbols 2023-09-07 13:32:37 +02:00
ci-definitions.rst.inc
ci-jobs.rst.inc gitlab: enable ccache for many build jobs 2023-08-30 14:57:33 +01:00
ci-runners.rst.inc
ci.rst
clocks.rst
code-of-conduct.rst
conflict-resolution.rst
control-flow-integrity.rst
decodetree.rst docs: Document decodetree named field syntax 2023-05-30 10:55:39 -07:00
ebpf_rss.rst
fuzzing.rst docs/fuzz: remove mentions of fork-based fuzzing 2023-02-16 23:02:46 -05:00
index-api.rst docs/devel: split qom-api reference into new file 2023-07-03 12:52:22 +01:00
index-build.rst
index-internals.rst
index-process.rst docs/devel: add some front matter to the devel index 2023-07-03 12:52:08 +01:00
index-tcg.rst docs/devel: add some front matter to the devel index 2023-07-03 12:52:08 +01:00
index.rst docs/devel: add some front matter to the devel index 2023-07-03 12:52:08 +01:00
kconfig.rst configure, meson: remove target OS symbols from config-host.mak 2023-09-07 13:32:37 +02:00
loads-stores.rst bswap: Add the ability to store to an unaligned 24 bit field 2023-06-22 18:55:14 -04:00
lockcnt.txt
maintainers.rst
memory.rst
migration.rst docs/migration: Update postcopy bits 2023-07-26 10:55:56 +02:00
modules.rst
multi-process.rst
multi-thread-tcg.rst
multiple-iothreads.txt async: Add an optional reentrancy guard to the BH API 2023-04-28 11:31:07 +02:00
qapi-code-gen.rst docs/interop: Convert qmp-spec.txt to rST 2023-05-22 10:21:01 +02:00
qdev-api.rst docs/devel: split qom-api reference into new file 2023-07-03 12:52:22 +01:00
qgraph.rst
qom-api.rst docs/devel: split qom-api reference into new file 2023-07-03 12:52:22 +01:00
qom.rst misc: Fix some typos in documentation and comments 2023-08-01 23:52:23 +02:00
qtest.rst
rcu.txt
replay.rst
reset.rst
s390-dasd-ipl.rst
secure-coding-practices.rst
stable-process.rst
style.rst docs/style: permit inline loop variables 2023-08-30 14:57:44 +01:00
submitting-a-patch.rst docs/devel: try and improve the language around patch review 2022-11-22 09:52:23 +00:00
submitting-a-pull-request.rst
tcg-icount.rst
tcg-ops.rst docs/devel/tcg-ops: fix missing newlines in "Host vector operations" 2023-08-24 11:22:42 -07:00
tcg-plugins.rst docs: add a new section to outline emulation support 2023-02-02 10:44:23 +00:00
tcg.rst docs/devel: add some front matter to the devel index 2023-07-03 12:52:08 +01:00
testing.rst Revert "tests: Use separate virtual environment for avocado" 2023-08-28 09:55:48 +02:00
tracing.rst
trivial-patches.rst
ui.rst
vfio-migration.rst vfio/migration: Add P2P support for VFIO migration 2023-09-11 08:34:05 +02:00
virtio-backends.rst
virtio-migration.txt
writing-monitor-commands.rst qapi: Start to elide redundant has_FOO in generated C 2022-12-13 18:31:37 +01:00
zoned-storage.rst docs/zoned-storage:add zoned emulation use case 2023-05-15 08:19:04 -04:00