From 5bc58d9cecbcb56c2494ea4aee7cd8a4a988b403 Mon Sep 17 00:00:00 2001 From: zhengchuan Date: Mon, 5 Dec 2022 20:56:35 +0800 Subject: [PATCH 5/5] migration: report multiFd related thread pid to libvirt report multiFd related thread pid to libvirt in order to pin multiFd thread to different cpu. Signed-off-by:zhengchuan --- migration/multifd.c | 4 ++++ qapi/migration.json | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/migration/multifd.c b/migration/multifd.c index 7c9deb1921..0d3f66537c 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -17,6 +17,7 @@ #include "exec/ramblock.h" #include "qemu/error-report.h" #include "qapi/error.h" +#include "qapi/qapi-events-migration.h" #include "ram.h" #include "migration.h" #include "socket.h" @@ -629,6 +630,9 @@ static void *multifd_send_thread(void *opaque) int ret = 0; uint32_t flags = 0; + /* report multifd thread pid to libvirt */ + qapi_event_send_migration_multifd_pid(qemu_get_thread_id()); + trace_multifd_send_thread_start(p->id); rcu_register_thread(); diff --git a/qapi/migration.json b/qapi/migration.json index 48e3d36d39..8e18fd30e4 100644 --- a/qapi/migration.json +++ b/qapi/migration.json @@ -1284,6 +1284,18 @@ { 'event': 'MIGRATION_PASS', 'data': { 'pass': 'int' } } +## +# @MIGRATION_MULTIFD_PID: +# +# Emitted when multifd thread appear +# +# @pid: pid of multifd thread +# +# Since: EulerOS Virtual +## +{ 'event': 'MIGRATION_MULTIFD_PID', + 'data': { 'pid': 'int' } } + ## # @MIGRATION_PID: # -- 2.27.0