Commit 1b22dd6d authored by Daniel Henrique Barboza's avatar Daniel Henrique Barboza Committed by Michal Privoznik
Browse files

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.
Signed-off-by: Daniel Henrique Barboza's avatarDaniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Michal Privoznik's avatarMichal Privoznik <mprivozn@redhat.com>
parent 87386ddc
Pipeline #156821299 failed with stages
in 34 minutes and 17 seconds
......@@ -9702,6 +9702,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);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment