mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
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
This commit is contained in:
parent
eb5dee3534
commit
68115fe0ab
@ -4864,6 +4864,8 @@ qemuProcessSetupHotpluggableVcpus(virQEMUDriverPtr driver,
|
|||||||
qemuDomainAsyncJob asyncJob)
|
qemuDomainAsyncJob asyncJob)
|
||||||
{
|
{
|
||||||
unsigned int maxvcpus = virDomainDefGetVcpusMax(vm->def);
|
unsigned int maxvcpus = virDomainDefGetVcpusMax(vm->def);
|
||||||
|
qemuDomainObjPrivatePtr priv = vm->privateData;
|
||||||
|
qemuCgroupEmulatorAllNodesDataPtr emulatorCgroup = NULL;
|
||||||
virDomainVcpuDefPtr vcpu;
|
virDomainVcpuDefPtr vcpu;
|
||||||
qemuDomainVcpuPrivatePtr vcpupriv;
|
qemuDomainVcpuPrivatePtr vcpupriv;
|
||||||
virJSONValuePtr vcpuprops = NULL;
|
virJSONValuePtr vcpuprops = NULL;
|
||||||
@ -4896,6 +4898,9 @@ qemuProcessSetupHotpluggableVcpus(virQEMUDriverPtr driver,
|
|||||||
qsort(bootHotplug, nbootHotplug, sizeof(*bootHotplug),
|
qsort(bootHotplug, nbootHotplug, sizeof(*bootHotplug),
|
||||||
qemuProcessVcpusSortOrder);
|
qemuProcessVcpusSortOrder);
|
||||||
|
|
||||||
|
if (qemuCgroupEmulatorAllNodesAllow(priv->cgroup, &emulatorCgroup) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
for (i = 0; i < nbootHotplug; i++) {
|
for (i = 0; i < nbootHotplug; i++) {
|
||||||
vcpu = bootHotplug[i];
|
vcpu = bootHotplug[i];
|
||||||
|
|
||||||
@ -4920,6 +4925,7 @@ qemuProcessSetupHotpluggableVcpus(virQEMUDriverPtr driver,
|
|||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
|
qemuCgrouEmulatorAllNodesRestore(emulatorCgroup);
|
||||||
VIR_FREE(bootHotplug);
|
VIR_FREE(bootHotplug);
|
||||||
virJSONValueFree(vcpuprops);
|
virJSONValueFree(vcpuprops);
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user