qemu/migration-report-multiFd-related-thread-pid-to-libvi.patch
yezengruan 61b834b8b4 QEMU update to version 6.2.0-64
- target/arm: Fix kvm probe of ID_AA64ZFR0
- migration: report migration/multiFd related thread pid to libvirt
- vhost_net: keep acked_feature only for NET_CLIENT_DRIVER_VHOST_USER

Signed-off-by: yezengruan <yezengruan@huawei.com>
(cherry picked from commit 2d46526fa69b16614ac095e5d2b11ae4e06649cf)
2022-12-14 16:26:53 +08:00

63 lines
1.6 KiB
Diff

From 5bc58d9cecbcb56c2494ea4aee7cd8a4a988b403 Mon Sep 17 00:00:00 2001
From: zhengchuan <zhengchuan@huawei.com>
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<zhengchuan@huawei.com>
---
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