mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-09-09 09:14:57 +00:00
qemu: don't setup cpuset.mems if memory mode in numatune is not 'strict'
If the memory mode in numatune is specified as 'preferred' with one node
(such as nodeset='0'), domain's memory is not all in node 0 absolutely.
Assumption that node 0 doesn't have enough memory, memory can be allocated
on node 1 when qemu process startup. Then if we set cpuset.mems to '0',
it may invoke OOM.
Commit 1a7be8c600
changed the former logic of
checking memory mode in virDomainNumatuneGetNodeset. This patch adds the
check as before.
Signed-off-by: Wang Rui <moon.wangrui@huawei.com>
This commit is contained in:
parent
12bd207e21
commit
38a0f6df64
@ -618,6 +618,10 @@ qemuSetupCpusetMems(virDomainObjPtr vm,
|
|||||||
if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_CPUSET))
|
if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_CPUSET))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
if (virDomainNumatuneGetMode(vm->def->numatune, -1) !=
|
||||||
|
VIR_DOMAIN_NUMATUNE_MEM_STRICT)
|
||||||
|
return 0;
|
||||||
|
|
||||||
if (virDomainNumatuneMaybeFormatNodeset(vm->def->numatune,
|
if (virDomainNumatuneMaybeFormatNodeset(vm->def->numatune,
|
||||||
nodemask,
|
nodemask,
|
||||||
&mem_mask, -1) < 0)
|
&mem_mask, -1) < 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user