diff options
author | Ivan Ren <renyime@gmail.com> | 2019-06-25 21:18:17 +0800 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2019-07-24 14:46:51 +0200 |
commit | 713f762a316348b00f5a3713b5314c88ab0a5852 (patch) | |
tree | ef75edf4f63d222e255d2986186f39216015a260 /LICENSE | |
parent | bf8b024372bf8abf5a9f40bfa65eeefad23ff988 (diff) |
migration: fix migrate_cancel leads live_migration thread endless loop
When we 'migrate_cancel' a multifd migration, live_migration thread may
go into endless loop in multifd_send_pages functions.
Reproduce steps:
(qemu) migrate_set_capability multifd on
(qemu) migrate -d url
(qemu) [wait a while]
(qemu) migrate_cancel
Then may get live_migration 100% cpu usage in following stack:
pthread_mutex_lock
qemu_mutex_lock_impl
multifd_send_pages
multifd_queue_page
ram_save_multifd_page
ram_save_target_page
ram_save_host_page
ram_find_and_save_block
ram_find_and_save_block
ram_save_iterate
qemu_savevm_state_iterate
migration_iteration_run
migration_thread
qemu_thread_start
start_thread
clone
Signed-off-by: Ivan Ren <ivanren@tencent.com>
Message-Id: <1561468699-9819-2-git-send-email-ivanren@tencent.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'LICENSE')
0 files changed, 0 insertions, 0 deletions