
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@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