diff options
author | Dr. David Alan Gilbert | 2018-03-12 18:21:00 +0100 |
---|---|---|
committer | Michael S. Tsirkin | 2018-03-20 04:03:27 +0100 |
commit | 9ccbfe14ddfce379ee24684b3648376b130293cd (patch) | |
tree | 5e67d4d11622ee9a733f25306940a6fa70bcfef6 /docs/interop | |
parent | postcopy: Add notifier chain (diff) | |
download | qemu-9ccbfe14ddfce379ee24684b3648376b130293cd.tar.gz qemu-9ccbfe14ddfce379ee24684b3648376b130293cd.tar.xz qemu-9ccbfe14ddfce379ee24684b3648376b130293cd.zip |
postcopy: Add vhost-user flag for postcopy and check it
Add a vhost feature flag for postcopy support, and
use the postcopy notifier to check it before allowing postcopy.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'docs/interop')
-rw-r--r-- | docs/interop/vhost-user.txt | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/docs/interop/vhost-user.txt b/docs/interop/vhost-user.txt index cb3a7595aa..91a572d781 100644 --- a/docs/interop/vhost-user.txt +++ b/docs/interop/vhost-user.txt @@ -290,6 +290,15 @@ Once the source has finished migration, rings will be stopped by the source. No further update must be done before rings are restarted. +In postcopy migration the slave is started before all the memory has been +received from the source host, and care must be taken to avoid accessing pages +that have yet to be received. The slave opens a 'userfault'-fd and registers +the memory with it; this fd is then passed back over to the master. +The master services requests on the userfaultfd for pages that are accessed +and when the page is available it performs WAKE ioctl's on the userfaultfd +to wake the stalled slave. The client indicates support for this via the +VHOST_USER_PROTOCOL_F_PAGEFAULT feature. + Memory access ------------- @@ -369,6 +378,7 @@ Protocol features #define VHOST_USER_PROTOCOL_F_SLAVE_REQ 5 #define VHOST_USER_PROTOCOL_F_CROSS_ENDIAN 6 #define VHOST_USER_PROTOCOL_F_CRYPTO_SESSION 7 +#define VHOST_USER_PROTOCOL_F_PAGEFAULT 8 Master message types -------------------- |