bugfix patches list: d677de remote: fix driver name check for libxl driver 075641 systemd: start libvirtd after firewalld iptables services 06fc99 qemuDomainCleanupRun: Actually run cleanup callbacks in reverse order 01626c virDevMapperGetTargetsImpl: quit early if device is not a devmapper target 006782 qemu: only stop external devices after the domain 42a415 qemuDomainStorageSourcePrivateDispose: Free httpcookie cc8c29 Don't require secdrivers to implement .domainMoveImageMetadata 0230e3 qemuProcessStop: Use XATTRs to restore seclabels on disks a domain is mirroring into 8fd274 qemuProcessStop: Reattach NVMe disks a domain is mirroring into 55029d security: don't fail if built without attr support a5a297 qemu: Skip pre creation of NVMe disks 2a372 Fix some wrong usage of ATTRIBUTE_NONNULL e728ff conf: Increase cpuset length limit for CPU pinning 8f58a4 virQEMUDriverConfigNew: Add slash to cfg defaultTLSx509certdir for non-embeded driver 1b22dd qemuDomainSetNumaParamsLive: set nodeset for root cgroup bdb8f2 qemu: do not add model when actual iface type is hostdev Signed-off-by: Jin Yan <jinyan12@huawei.com>
50 lines
1.7 KiB
Diff
50 lines
1.7 KiB
Diff
From 222d16af976dc08ee3ea2008d1dc68b00a1ccc9f Mon Sep 17 00:00:00 2001
|
|
From: Daniel Henrique Barboza <danielhb413@gmail.com>
|
|
Date: Thu, 11 Jun 2020 15:54:57 -0300
|
|
Subject: [PATCH] qemuDomainSetNumaParamsLive: set nodeset for root cgroup
|
|
|
|
This function handles the change of NUMA nodeset for a given
|
|
guest, setting CpusetMems for the emulator, vcpus and IOThread
|
|
sub-groups. It doesn't set the same nodeset to the root cgroup
|
|
though. This means that cpuset.mems of the root cgroup ends up
|
|
holding the new nodeset and the old nodeset as well. For
|
|
a guest with placement=strict, nodeset='0', doing
|
|
|
|
virsh numatune <vm> 0 8 --live
|
|
|
|
Will make cpuset.mems of emulator, vcpus and iothread to be
|
|
"8", but cpuset.mems of the root cgroup will be "0,8".
|
|
|
|
This means that any new tasks that ends up landing in the
|
|
root cgroup, aside from the emulator/vcpus/iothread sub-groups,
|
|
will be split between the old nodeset and the new nodeset,
|
|
which is not what we want.
|
|
|
|
cherry-pick from commit: 1b22dd6dd44202094e0f78f887cbe790c00e9ebc
|
|
|
|
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
|
|
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
|
---
|
|
src/qemu/qemu_driver.c | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
|
|
index 8bc5368..cb049fe 100644
|
|
--- a/src/qemu/qemu_driver.c
|
|
+++ b/src/qemu/qemu_driver.c
|
|
@@ -9728,6 +9728,10 @@ qemuDomainSetNumaParamsLive(virDomainObjPtr vm,
|
|
virCgroupFree(&cgroup_temp);
|
|
}
|
|
|
|
+ /* set nodeset for root cgroup */
|
|
+ if (virCgroupSetCpusetMems(priv->cgroup, nodeset_str) < 0)
|
|
+ goto cleanup;
|
|
+
|
|
ret = 0;
|
|
cleanup:
|
|
virCgroupFree(&cgroup_temp);
|
|
--
|
|
1.8.3.1
|
|
|