94f775e428
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> |
||
---|---|---|
.. | ||
acpi-bits.rst | ||
atomics.rst | ||
bitops.rst | ||
blkdebug.txt | ||
blkverify.txt | ||
block-coroutine-wrapper.rst | ||
build-system.rst | ||
ci-definitions.rst.inc | ||
ci-jobs.rst.inc | ||
ci-runners.rst.inc | ||
ci.rst | ||
clocks.rst | ||
code-of-conduct.rst | ||
conflict-resolution.rst | ||
control-flow-integrity.rst | ||
decodetree.rst | ||
ebpf_rss.rst | ||
fuzzing.rst | ||
index-api.rst | ||
index-build.rst | ||
index-internals.rst | ||
index-process.rst | ||
index-tcg.rst | ||
index.rst | ||
kconfig.rst | ||
loads-stores.rst | ||
lockcnt.txt | ||
maintainers.rst | ||
memory.rst | ||
migration.rst | ||
modules.rst | ||
multi-process.rst | ||
multi-thread-tcg.rst | ||
multiple-iothreads.txt | ||
qapi-code-gen.rst | ||
qdev-api.rst | ||
qgraph.rst | ||
qom-api.rst | ||
qom.rst | ||
qtest.rst | ||
rcu.txt | ||
replay.rst | ||
reset.rst | ||
s390-dasd-ipl.rst | ||
secure-coding-practices.rst | ||
stable-process.rst | ||
style.rst | ||
submitting-a-patch.rst | ||
submitting-a-pull-request.rst | ||
tcg-icount.rst | ||
tcg-ops.rst | ||
tcg-plugins.rst | ||
tcg.rst | ||
testing.rst | ||
tracing.rst | ||
trivial-patches.rst | ||
ui.rst | ||
vfio-migration.rst | ||
virtio-backends.rst | ||
virtio-migration.txt | ||
writing-monitor-commands.rst | ||
zoned-storage.rst |