libvirt/qemuDomainPinIOThread-Update-live-definition-after-p.patch

53 lines
1.8 KiB
Diff
Raw Normal View History

From f98761b13ec88aa506987f3d112a9f41f14d6dfb Mon Sep 17 00:00:00 2001
From: Bihong Yu <yubihong@huawei.com>
Date: Tue, 18 Jan 2022 10:08:03 +0100
Subject: [PATCH 03/22] qemuDomainPinIOThread: Update live definition after
process pinning
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Update live definition after process pinning, Otherwise we'll
keep using the new pinning value even if it can't be applied to
the thread.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2040555
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Signed-off-by: Bihong Yu <yubihong@huawei.com>
---
src/qemu/qemu_driver.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 8b19be46f1..32b3ef3cf1 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -5719,10 +5719,6 @@ qemuDomainPinIOThread(virDomainPtr dom,
if (!(cpumask = virBitmapNewData(cpumap, maplen)))
goto endjob;
- virBitmapFree(iothrid->cpumask);
- iothrid->cpumask = cpumask;
- iothrid->autofill = false;
-
/* Configure the corresponding cpuset cgroup before set affinity. */
if (virCgroupHasController(priv->cgroup,
VIR_CGROUP_CONTROLLER_CPUSET)) {
@@ -5740,6 +5736,10 @@ qemuDomainPinIOThread(virDomainPtr dom,
if (virProcessSetAffinity(iothrid->thread_id, pcpumap) < 0)
goto endjob;
+ virBitmapFree(iothrid->cpumask);
+ iothrid->cpumask = cpumask;
+ iothrid->autofill = false;
+
if (virDomainObjSave(vm, driver->xmlopt, cfg->stateDir) < 0)
goto endjob;
--
2.33.0