On Fri, Mar 06, 2015 at 01:47:11PM -0500, John Ferlan wrote:
Follow-up to the IOThread review on CPU affinity map manipulation:
http://www.redhat.com/archives/libvir-list/2015-March/msg00294.html
indicates that the GetVcpuPinInfo could use similar algorithm adjustments
which is what this patch does.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/qemu/qemu_driver.c | 59 ++++++++++++++++++++++++--------------------------
1 file changed, 28 insertions(+), 31 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index c1f4e95..85387a8 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -5100,12 +5100,8 @@ qemuDomainGetVcpuPinInfo(virDomainPtr dom,
virDomainObjPtr vm = NULL;
virDomainDefPtr targetDef = NULL;
int ret = -1;
- int maxcpu, hostcpus, vcpu, pcpu;
- int n;
- virDomainVcpuPinDefPtr *vcpupin_list;
- virBitmapPtr cpumask = NULL;
+ int hostcpus, vcpu;
unsigned char *cpumap;
- bool pinned;
virCapsPtr caps = NULL;
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
@@ -5133,39 +5129,40 @@ qemuDomainGetVcpuPinInfo(virDomainPtr dom,
if ((hostcpus = nodeGetCPUCount()) < 0)
goto cleanup;
- maxcpu = maplen * 8;
- if (maxcpu > hostcpus)
- maxcpu = hostcpus;
-
- /* Clamp to actual number of vcpus */
- if (ncpumaps > targetDef->vcpus)
- ncpumaps = targetDef->vcpus;
-
This check can stay - we don't need to spend time returning a full
bitmap for vcpus that don't have a pin info beacuse they don't exist.
Jan