提交 68115fe0 编写于 作者: P Peter Krempa

qemu: process: Fix start with unpluggable vcpus with NUMA pinning

Similarly to vcpu hotplug the emulator thread cgroup numa mapping needs
to be relaxed while hot-adding vcpus so that the threads can allocate
data in the DMA zone.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1370084
上级 eb5dee35
......@@ -4864,6 +4864,8 @@ qemuProcessSetupHotpluggableVcpus(virQEMUDriverPtr driver,
qemuDomainAsyncJob asyncJob)
{
unsigned int maxvcpus = virDomainDefGetVcpusMax(vm->def);
qemuDomainObjPrivatePtr priv = vm->privateData;
qemuCgroupEmulatorAllNodesDataPtr emulatorCgroup = NULL;
virDomainVcpuDefPtr vcpu;
qemuDomainVcpuPrivatePtr vcpupriv;
virJSONValuePtr vcpuprops = NULL;
......@@ -4896,6 +4898,9 @@ qemuProcessSetupHotpluggableVcpus(virQEMUDriverPtr driver,
qsort(bootHotplug, nbootHotplug, sizeof(*bootHotplug),
qemuProcessVcpusSortOrder);
if (qemuCgroupEmulatorAllNodesAllow(priv->cgroup, &emulatorCgroup) < 0)
goto cleanup;
for (i = 0; i < nbootHotplug; i++) {
vcpu = bootHotplug[i];
......@@ -4920,6 +4925,7 @@ qemuProcessSetupHotpluggableVcpus(virQEMUDriverPtr driver,
ret = 0;
cleanup:
qemuCgrouEmulatorAllNodesRestore(emulatorCgroup);
VIR_FREE(bootHotplug);
virJSONValueFree(vcpuprops);
return ret;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册