提交 776924e3 编写于 作者: M Martin Kletzander

qemu: Use numad information when getting pin information

Pinning information returned for emulatorpin and vcpupin calls is being
returned from our data without querying cgroups for some time.  However,
not all the data were utilized.  When automatic placement is used the
information is not returned for the calls mentioned above.  Since the
numad hint in private data is properly saved/restored, we can safely use
it to return true information.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1162947Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
上级 8ce86722
......@@ -5229,6 +5229,7 @@ qemuDomainGetVcpuPinInfo(virDomainPtr dom,
int ret = -1;
int hostcpus, vcpu;
virBitmapPtr allcpumap = NULL;
qemuDomainObjPrivatePtr priv = NULL;
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
VIR_DOMAIN_AFFECT_CONFIG, -1);
......@@ -5249,6 +5250,7 @@ qemuDomainGetVcpuPinInfo(virDomainPtr dom,
goto cleanup;
virBitmapSetAll(allcpumap);
priv = vm->privateData;
/* Clamp to actual number of vcpus */
if (ncpumaps > def->vcpus)
......@@ -5267,6 +5269,9 @@ qemuDomainGetVcpuPinInfo(virDomainPtr dom,
if (pininfo && pininfo->cpumask)
bitmap = pininfo->cpumask;
else if (vm->def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_AUTO &&
priv->autoCpuset)
bitmap = priv->autoCpuset;
else
bitmap = allcpumap;
......@@ -5417,6 +5422,7 @@ qemuDomainGetEmulatorPinInfo(virDomainPtr dom,
int hostcpus;
virBitmapPtr cpumask = NULL;
virBitmapPtr bitmap = NULL;
qemuDomainObjPrivatePtr priv = NULL;
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
VIR_DOMAIN_AFFECT_CONFIG, -1);
......@@ -5433,10 +5439,15 @@ qemuDomainGetEmulatorPinInfo(virDomainPtr dom,
if ((hostcpus = nodeGetCPUCount(NULL)) < 0)
goto cleanup;
priv = vm->privateData;
if (def->cputune.emulatorpin) {
cpumask = def->cputune.emulatorpin;
} else if (def->cpumask) {
cpumask = def->cpumask;
} else if (vm->def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_AUTO &&
priv->autoCpuset) {
cpumask = priv->autoCpuset;
} else {
if (!(bitmap = virBitmapNew(hostcpus)))
goto cleanup;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册