diff options
| author | Jiang Jiacheng <jiangjiacheng@huawei.com> | 2023-02-03 15:35:19 +0800 |
|---|---|---|
| committer | Juan Quintela <quintela@redhat.com> | 2023-02-06 19:22:57 +0100 |
| commit | 1b1f4ab69c41279a45ccd0d3178e83471e6e4ec1 (patch) | |
| tree | b517d16a2b4d554b13749cab5324ffb242070202 /migration/migration.c | |
| parent | 671326201dac8fe91222ba0045709f04a8ec3af4 (diff) | |
| download | focaccia-qemu-1b1f4ab69c41279a45ccd0d3178e83471e6e4ec1.tar.gz focaccia-qemu-1b1f4ab69c41279a45ccd0d3178e83471e6e4ec1.zip | |
migration: save/delete migration thread info
To support query migration thread infomation, save and delete thread(live_migration and multifdsend) information at thread creation and finish. Signed-off-by: Jiang Jiacheng <jiangjiacheng@huawei.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'migration/migration.c')
| -rw-r--r-- | migration/migration.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/migration/migration.c b/migration/migration.c index 66c74f8e17..7a14aa98d8 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -58,6 +58,7 @@ #include "net/announce.h" #include "qemu/queue.h" #include "multifd.h" +#include "threadinfo.h" #include "qemu/yank.h" #include "sysemu/cpus.h" #include "yank_functions.h" @@ -4028,10 +4029,13 @@ static void qemu_savevm_wait_unplug(MigrationState *s, int old_state, static void *migration_thread(void *opaque) { MigrationState *s = opaque; + MigrationThread *thread = NULL; int64_t setup_start = qemu_clock_get_ms(QEMU_CLOCK_HOST); MigThrError thr_error; bool urgent = false; + thread = MigrationThreadAdd("live_migration", qemu_get_thread_id()); + rcu_register_thread(); object_ref(OBJECT(s)); @@ -4108,6 +4112,7 @@ static void *migration_thread(void *opaque) migration_iteration_finish(s); object_unref(OBJECT(s)); rcu_unregister_thread(); + MigrationThreadDel(thread); return NULL; } |