From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
This set enables postcopy migration with shared memory to a vhost user process.
It's based off current head.
Testing is mostly performed with dpdk, with corresponding modifications by
Maxime.
v6 is a rebase on top of Michael's PCI world; this took some merging
because of Jay Zhou's 'vhost: used_memslots refactoring', which needed
a bit of a change to 'vhost+postcopy: Stash RAMBlock and offset' (which
I dropped the Review-by off)
and 'postcopy+vhost-user: Split set_mem_table for postcopy' (which I
kept it, since the change is mostly contextual).
And I removed a blank line at the end of a patch.
Dave
Dr. David Alan Gilbert (29):
migrate: Update ram_block_discard_range for shared
qemu_ram_block_host_offset
postcopy: use UFFDIO_ZEROPAGE only when available
postcopy: Add notifier chain
postcopy: Add vhost-user flag for postcopy and check it
vhost-user: Add 'VHOST_USER_POSTCOPY_ADVISE' message
libvhost-user: Support sending fds back to qemu
libvhost-user: Open userfaultfd
postcopy: Allow registering of fd handler
vhost+postcopy: Register shared ufd with postcopy
vhost+postcopy: Transmit 'listen' to slave
postcopy+vhost-user: Split set_mem_table for postcopy
migration/ram: ramblock_recv_bitmap_test_byte_offset
libvhost-user+postcopy: Register new regions with the ufd
vhost+postcopy: Send address back to qemu
vhost+postcopy: Stash RAMBlock and offset
vhost+postcopy: Helper to send requests to source for shared pages
vhost+postcopy: Resolve client address
postcopy: helper for waking shared
postcopy: postcopy_notify_shared_wake
vhost+postcopy: Add vhost waker
vhost+postcopy: Call wakeups
libvhost-user: mprotect & madvises for postcopy
vhost-user: Add VHOST_USER_POSTCOPY_END message
vhost+postcopy: Wire up POSTCOPY_END notify
vhost: Huge page align and merge
postcopy: Allow shared memory
libvhost-user: Claim support for postcopy
postcopy shared docs
contrib/libvhost-user/libvhost-user.c | 302 ++++++++++++++++++++++++-
contrib/libvhost-user/libvhost-user.h | 11 +
docs/devel/migration.rst | 41 ++++
docs/interop/vhost-user.txt | 52 +++++
exec.c | 86 ++++++--
hw/virtio/trace-events | 16 +-
hw/virtio/vhost-user.c | 403 +++++++++++++++++++++++++++++++++-
hw/virtio/vhost.c | 66 +++++-
include/exec/cpu-common.h | 4 +
migration/migration.c | 6 +
migration/migration.h | 4 +
migration/postcopy-ram.c | 353 +++++++++++++++++++++++------
migration/postcopy-ram.h | 73 ++++++
migration/ram.c | 5 +
migration/ram.h | 1 +
migration/savevm.c | 13 ++
migration/trace-events | 6 +
trace-events | 3 +-
vl.c | 2 +
19 files changed, 1351 insertions(+), 96 deletions(-)
--
2.14.3