From e387eaeef8845993a437ad19eaf988fb101d3fdd Mon Sep 17 00:00:00 2001 From: zhengchuan Date: Mon, 5 Dec 2022 20:56:35 +0800 Subject: [PATCH] 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 409460684f..7d373a245e 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 "migration-stats.h" @@ -657,6 +658,9 @@ static void *multifd_send_thread(void *opaque) thread = migration_threads_add(p->name, qemu_get_thread_id()); + /* 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 b442d0d878..5d0855a1d8 100644 --- a/qapi/migration.json +++ b/qapi/migration.json @@ -1447,6 +1447,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