migration: Postcopy preemption preparation on channel creation
commit36f62f11e44b8a0a653998da100be307ac98704d
authorPeter Xu <peterx@redhat.com>
Thu, 7 Jul 2022 18:55:02 +0000 (7 14:55 -0400)
committerDr. David Alan Gilbert <dgilbert@redhat.com>
Wed, 20 Jul 2022 11:15:08 +0000 (20 12:15 +0100)
treeca02966b3dfab3f6130de12ceda77a4e63149620
parentce5b0f4afc60124e2fdc81b27ef0de3875bbb9f0
migration: Postcopy preemption preparation on channel creation

Create a new socket for postcopy to be prepared to send postcopy requested
pages via this specific channel, so as to not get blocked by precopy pages.

A new thread is also created on dest qemu to receive data from this new channel
based on the ram_load_postcopy() routine.

The ram_load_postcopy(POSTCOPY) branch and the thread has not started to
function, and that'll be done in follow up patches.

Cleanup the new sockets on both src/dst QEMUs, meanwhile look after the new
thread too to make sure it'll be recycled properly.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20220707185502.27149-1-peterx@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  dgilbert: With Peter's fix to quieten compiler warning on
       start_migration
migration/migration.c
migration/migration.h
migration/postcopy-ram.c
migration/postcopy-ram.h
migration/ram.c
migration/ram.h
migration/savevm.c
migration/socket.c
migration/socket.h
migration/trace-events