From f98761b13ec88aa506987f3d112a9f41f14d6dfb Mon Sep 17 00:00:00 2001 From: Bihong Yu 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 Reviewed-by: Ján Tomko Reviewed-by: Pavel Hrdina Signed-off-by: Bihong Yu --- 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