[libvirt] [PATCH 33/34] qemu: driver: Refactor qemuDomainHelperGetVcpus
Peter Krempa
pkrempa at redhat.com
Fri Nov 27 09:11:40 UTC 2015
On Tue, Nov 24, 2015 at 07:56:19 -0500, John Ferlan wrote:
> On 11/20/2015 10:22 AM, Peter Krempa wrote:
> > Change some of the control structures and switch to using the new vcpu
> > structure.
> > ---
> > src/qemu/qemu_driver.c | 77 ++++++++++++++++++++++++++++----------------------
> > 1 file changed, 43 insertions(+), 34 deletions(-)
> >
> > diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> > index c659328..b9f8e72 100644
> > --- a/src/qemu/qemu_driver.c
> > +++ b/src/qemu/qemu_driver.c
[...]
> > +
> > + if (cpumaps)
> > + memset(cpumaps, 0, sizeof(*cpumaps) * maxinfo);
> > +
> > + for (i = 0; i < virDomainDefGetVCpusMax(vm->def) && ncpuinfo < maxinfo; i++) {
>
> This line is longer than 80 cols.
>
> > + virDomainVCpuInfoPtr vcpu = virDomainDefGetVCpu(vm->def, i);
> > + pid_t vcpupid = qemuDomainGetVCpuPid(vm, i);
> > +
> > + if (!vcpu->online)
> > + continue;
>
> So if the goal is to eventually allow vcpu 0 & 2 of 4 vcpu's to be
> online, then this algorithm will need a slight adjustment.
Yes that's the goal.
>
> Of course there's also the what if 'vcpupid == 0' that hasn't been
> checked here (comments from patch 32).
>
> I "believe" what needs to be done is change the [i] below to [ncpuinfo]
> - that way the info & cpumaps would be returned with only the
> ONLINE/RUNNING vCPU's and 'info[]' won't have gaps which won't be
> accessible if a "2" is returned... I think the same holds true for the
> VIR_GET_CPUMAP
Oh, yeah. I forgot to fix that when trying multiple approaches
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20151127/a8d13460/attachment-0001.sig>
More information about the libvir-list
mailing list