qemu/migration
Peter Xu 5e77343113 migration: Postpone the kick of the fault thread after recover
The new migrate_send_rp_req_pages_pending() call should greatly improve
destination responsiveness because it will resync faulted address after
postcopy recovery.  However it is also the 1st place to initiate the page
request from the main thread.

One thing is overlooked on that migrate_send_rp_message_req_pages() is not
designed to be thread-safe.  So if we wake the fault thread before syncing all
the faulted pages in the main thread, it means they can race.

Postpone the wake up operation after the sync of faulted addresses.

Fixes: 0c26781c09 ("migration: Sync requested pages after postcopy recovery")
Tested-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20201102153010.11979-3-peterx@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
2020-11-02 18:25:48 +00:00
..
block-dirty-bitmap.c migration/block-dirty-bitmap: fix uninitialized variable warning 2020-10-26 06:56:24 -05:00
block.c migration: using trace_ to replace DPRINTF 2020-10-26 16:15:04 +00:00
block.h
channel.c
channel.h
colo-failover.c
colo.c error: Remove NULL checks on error_propagate() calls (again) 2020-10-09 08:36:23 +02:00
dirtyrate.c Trivial Patches Pull request 20201013 2020-10-13 14:06:22 +01:00
dirtyrate.h
exec.c
exec.h
fd.c monitor: Use getter/setter functions for cur_mon 2020-10-09 07:08:19 +02:00
fd.h
global_state.c migration: Silence compiler warning in global_state_store_running() 2020-10-02 12:28:48 +01:00
meson.build migration: Move the creation of the library to the main meson.build 2020-10-12 11:50:20 -04:00
migration.c qapi: Add VFIO devices migration stats in Migration stats 2020-11-01 12:30:51 -07:00
migration.h migration: Maintain postcopy faulted addresses 2020-10-26 16:15:04 +00:00
multifd-zlib.c
multifd-zstd.c
multifd.c Trivial Patches Pull request 20200928 2020-09-28 14:03:09 +01:00
multifd.h migration/tls: add tls_hostname into MultiFDSendParams 2020-09-25 12:45:58 +01:00
page_cache.c migration: using trace_ to replace DPRINTF 2020-10-26 16:15:04 +00:00
page_cache.h
postcopy-ram.c migration: Unify reset of last_rb on destination node when recover 2020-11-02 18:25:39 +00:00
postcopy-ram.h
qemu-file-channel.c
qemu-file-channel.h
qemu-file.c
qemu-file.h
qjson.c
qjson.h
ram.c migration: Do not initialise statics and globals to 0 or NULL 2020-10-26 16:15:04 +00:00
ram.h
rdma.c migration: Delete redundant spaces 2020-10-26 16:15:04 +00:00
rdma.h
savevm.c migration: Postpone the kick of the fault thread after recover 2020-11-02 18:25:48 +00:00
savevm.h
socket.c
socket.h
tls.c migration/tls: extract migration_tls_client_create for common-use 2020-09-25 12:45:58 +01:00
tls.h migration/tls: extract migration_tls_client_create for common-use 2020-09-25 12:45:58 +01:00
trace-events migration: Sync requested pages after postcopy recovery 2020-10-26 16:15:04 +00:00
trace.h
vmstate-types.c migration: Drop unused VMSTATE_FLOAT64 support 2020-10-26 16:15:04 +00:00
vmstate.c migration: Add spaces around operator 2020-10-26 16:15:04 +00:00
xbzrle.c
xbzrle.h