We have trace points for both multifd channel and preempt channel when a new channel is established on the destination, but no main channel. We can normally deduce this by analyzing the socket channel tracepoints, but add one for debugging purpose so in a trace log we can see when all channels are established.
Add one more for start / resume of incoming migration too. Signed-off-by: Peter Xu <[email protected]> --- migration/migration.c | 3 +++ migration/trace-events | 2 ++ 2 files changed, 5 insertions(+) diff --git a/migration/migration.c b/migration/migration.c index d14beb5d22..cfadcc79c2 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -852,6 +852,7 @@ bool migration_incoming_setup(QIOChannel *ioc, uint8_t channel, Error **errp) assert(!mis->from_src_file); mis->from_src_file = f; qemu_file_set_blocking(f, false, &error_abort); + trace_migration_main_channel_received(); break; case CH_MULTIFD: @@ -918,6 +919,8 @@ static bool postcopy_try_recover(void) void migration_start_incoming(void) { + trace_migration_start_incoming(); + if (postcopy_try_recover()) { return; } diff --git a/migration/trace-events b/migration/trace-events index e87d4abd91..e755872496 100644 --- a/migration/trace-events +++ b/migration/trace-events @@ -200,6 +200,8 @@ postcopy_preempt_enabled(bool value) "%d" migration_precopy_complete(void) "" migration_call_notifiers(int type) "type=%d" migration_request_switchover_ack_legacy(const char *requester, unsigned int switchover_ack_pending_num_legacy) "Requester %s, switchover_ack_pending_num_legacy %u" +migration_main_channel_received(void) "" +migration_start_incoming(void) "" # migration-stats migration_transferred_bytes(uint64_t qemu_file, uint64_t multifd, uint64_t rdma) "qemu_file %" PRIu64 " multifd %" PRIu64 " RDMA %" PRIu64 -- 2.55.0
