You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
158 lines
6.4 KiB
158 lines
6.4 KiB
3 days ago
|
From 210d413ed90983f8a29576cd13c02b8598dc3b2b Mon Sep 17 00:00:00 2001
|
||
|
From: Peter Xu <peterx@redhat.com>
|
||
|
Date: Wed, 19 Jun 2024 18:30:37 -0400
|
||
|
Subject: [PATCH 02/11] migration: Rename thread debug names
|
||
|
|
||
|
RH-Author: Juraj Marcin <None>
|
||
|
RH-MergeRequest: 419: migration: New postcopy state, and some cleanups [rhel-9.5.z]
|
||
|
RH-Jira: RHEL-63874
|
||
|
RH-Acked-by: Peter Xu <peterx@redhat.com>
|
||
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||
|
RH-Commit: [2/11] b038b81af86b7b18642f81a3e23528912d1bd4ea
|
||
|
|
||
|
The postcopy thread names on dest QEMU are slightly confusing, partly I'll
|
||
|
need to blame myself on 36f62f11e4 ("migration: Postcopy preemption
|
||
|
preparation on channel creation"). E.g., "fault-fast" reads like a fast
|
||
|
version of "fault-default", but it's actually the fast version of
|
||
|
"postcopy/listen".
|
||
|
|
||
|
Taking this chance, rename all the migration threads with proper rules.
|
||
|
Considering we only have 15 chars usable, prefix all threads with "mig/",
|
||
|
meanwhile identify src/dst threads properly this time. So now most thread
|
||
|
names will look like "mig/DIR/xxx", where DIR will be "src"/"dst", except
|
||
|
the bg-snapshot thread which doesn't have a direction.
|
||
|
|
||
|
For multifd threads, making them "mig/{src|dst}/{send|recv}_%d".
|
||
|
|
||
|
We used to have "live_migration" thread for a very long time, now it's
|
||
|
called "mig/src/main". We may hope to have "mig/dst/main" soon but not
|
||
|
yet.
|
||
|
|
||
|
Reviewed-by: Fabiano Rosas <farosas@suse.de>
|
||
|
Reviewed-by: Zhijian Li (Fujitsu) <lizhijian@fujitsu.com>
|
||
|
Signed-off-by: Peter Xu <peterx@redhat.com>
|
||
|
Signed-off-by: Fabiano Rosas <farosas@suse.de>
|
||
|
|
||
|
(cherry picked from commit 60ce47675d74ddae3f13a32767d097d9fecbda4b)
|
||
|
|
||
|
JIRA: https://issues.redhat.com/browse/RHEL-63874
|
||
|
Y-JIRA: https://issues.redhat.com/browse/RHEL-38485
|
||
|
|
||
|
Signed-off-by: Juraj Marcin <jmarcin@redhat.com>
|
||
|
---
|
||
|
migration/colo.c | 2 +-
|
||
|
migration/migration.c | 6 +++---
|
||
|
migration/multifd.c | 6 +++---
|
||
|
migration/postcopy-ram.c | 4 ++--
|
||
|
migration/savevm.c | 2 +-
|
||
|
5 files changed, 10 insertions(+), 10 deletions(-)
|
||
|
|
||
|
diff --git a/migration/colo.c b/migration/colo.c
|
||
|
index 84632a603e..560f910fb0 100644
|
||
|
--- a/migration/colo.c
|
||
|
+++ b/migration/colo.c
|
||
|
@@ -938,7 +938,7 @@ int coroutine_fn colo_incoming_co(void)
|
||
|
return -EINVAL;
|
||
|
}
|
||
|
|
||
|
- qemu_thread_create(&th, "COLO incoming", colo_process_incoming_thread,
|
||
|
+ qemu_thread_create(&th, "mig/dst/colo", colo_process_incoming_thread,
|
||
|
mis, QEMU_THREAD_JOINABLE);
|
||
|
|
||
|
mis->colo_incoming_co = qemu_coroutine_self();
|
||
|
diff --git a/migration/migration.c b/migration/migration.c
|
||
|
index 86bf76e925..4e9d3522be 100644
|
||
|
--- a/migration/migration.c
|
||
|
+++ b/migration/migration.c
|
||
|
@@ -2447,7 +2447,7 @@ static int open_return_path_on_source(MigrationState *ms)
|
||
|
|
||
|
trace_open_return_path_on_source();
|
||
|
|
||
|
- qemu_thread_create(&ms->rp_state.rp_thread, "return path",
|
||
|
+ qemu_thread_create(&ms->rp_state.rp_thread, "mig/src/rp-thr",
|
||
|
source_return_path_thread, ms, QEMU_THREAD_JOINABLE);
|
||
|
ms->rp_state.rp_thread_created = true;
|
||
|
|
||
|
@@ -3755,10 +3755,10 @@ void migrate_fd_connect(MigrationState *s, Error *error_in)
|
||
|
}
|
||
|
|
||
|
if (migrate_background_snapshot()) {
|
||
|
- qemu_thread_create(&s->thread, "bg_snapshot",
|
||
|
+ qemu_thread_create(&s->thread, "mig/snapshot",
|
||
|
bg_migration_thread, s, QEMU_THREAD_JOINABLE);
|
||
|
} else {
|
||
|
- qemu_thread_create(&s->thread, "live_migration",
|
||
|
+ qemu_thread_create(&s->thread, "mig/src/main",
|
||
|
migration_thread, s, QEMU_THREAD_JOINABLE);
|
||
|
}
|
||
|
s->migration_thread_running = true;
|
||
|
diff --git a/migration/multifd.c b/migration/multifd.c
|
||
|
index 2802afe79d..8b5be2a17e 100644
|
||
|
--- a/migration/multifd.c
|
||
|
+++ b/migration/multifd.c
|
||
|
@@ -1058,7 +1058,7 @@ static bool multifd_tls_channel_connect(MultiFDSendParams *p,
|
||
|
args->p = p;
|
||
|
|
||
|
p->tls_thread_created = true;
|
||
|
- qemu_thread_create(&p->tls_thread, "multifd-tls-handshake-worker",
|
||
|
+ qemu_thread_create(&p->tls_thread, "mig/src/tls",
|
||
|
multifd_tls_handshake_thread, args,
|
||
|
QEMU_THREAD_JOINABLE);
|
||
|
return true;
|
||
|
@@ -1184,7 +1184,7 @@ bool multifd_send_setup(void)
|
||
|
} else {
|
||
|
p->iov = g_new0(struct iovec, page_count);
|
||
|
}
|
||
|
- p->name = g_strdup_printf("multifdsend_%d", i);
|
||
|
+ p->name = g_strdup_printf("mig/src/send_%d", i);
|
||
|
p->page_size = qemu_target_page_size();
|
||
|
p->page_count = page_count;
|
||
|
p->write_flags = 0;
|
||
|
@@ -1600,7 +1600,7 @@ int multifd_recv_setup(Error **errp)
|
||
|
+ sizeof(uint64_t) * page_count;
|
||
|
p->packet = g_malloc0(p->packet_len);
|
||
|
}
|
||
|
- p->name = g_strdup_printf("multifdrecv_%d", i);
|
||
|
+ p->name = g_strdup_printf("mig/dst/recv_%d", i);
|
||
|
p->iov = g_new0(struct iovec, page_count);
|
||
|
p->normal = g_new0(ram_addr_t, page_count);
|
||
|
p->zero = g_new0(ram_addr_t, page_count);
|
||
|
diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c
|
||
|
index eccff499cb..ef184d8d08 100644
|
||
|
--- a/migration/postcopy-ram.c
|
||
|
+++ b/migration/postcopy-ram.c
|
||
|
@@ -1238,7 +1238,7 @@ int postcopy_ram_incoming_setup(MigrationIncomingState *mis)
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
- postcopy_thread_create(mis, &mis->fault_thread, "fault-default",
|
||
|
+ postcopy_thread_create(mis, &mis->fault_thread, "mig/dst/fault",
|
||
|
postcopy_ram_fault_thread, QEMU_THREAD_JOINABLE);
|
||
|
mis->have_fault_thread = true;
|
||
|
|
||
|
@@ -1258,7 +1258,7 @@ int postcopy_ram_incoming_setup(MigrationIncomingState *mis)
|
||
|
* This thread needs to be created after the temp pages because
|
||
|
* it'll fetch RAM_CHANNEL_POSTCOPY PostcopyTmpPage immediately.
|
||
|
*/
|
||
|
- postcopy_thread_create(mis, &mis->postcopy_prio_thread, "fault-fast",
|
||
|
+ postcopy_thread_create(mis, &mis->postcopy_prio_thread, "mig/dst/preempt",
|
||
|
postcopy_preempt_thread, QEMU_THREAD_JOINABLE);
|
||
|
mis->preempt_thread_status = PREEMPT_THREAD_CREATED;
|
||
|
}
|
||
|
diff --git a/migration/savevm.c b/migration/savevm.c
|
||
|
index e7c1215671..5aa595e365 100644
|
||
|
--- a/migration/savevm.c
|
||
|
+++ b/migration/savevm.c
|
||
|
@@ -2127,7 +2127,7 @@ static int loadvm_postcopy_handle_listen(MigrationIncomingState *mis)
|
||
|
}
|
||
|
|
||
|
mis->have_listen_thread = true;
|
||
|
- postcopy_thread_create(mis, &mis->listen_thread, "postcopy/listen",
|
||
|
+ postcopy_thread_create(mis, &mis->listen_thread, "mig/dst/listen",
|
||
|
postcopy_ram_listen_thread, QEMU_THREAD_DETACHED);
|
||
|
trace_loadvm_postcopy_handle_listen("return");
|
||
|
|
||
|
--
|
||
|
2.39.3
|
||
|
|