[libvirt] [PATCH 2/2] Parallels: add connectBaselineCPU().

Daniel P. Berrange berrange at redhat.com
Tue Jun 3 13:26:19 UTC 2014


On Mon, Jun 02, 2014 at 06:06:39PM +0400, Alexander Burluka wrote:
> From: A.Burluka <aburluka at parallels.com>
> 
> Openstack Nova (starting at
> icehouse release) requires this function to start VM. Because the
> information is taken from host capabilities xml, I've expanded it
> and add cpu section in it.

Small nit-pick - it'd be nice to split this patch in 2. One
patch doing virConnectBaselineCPU impl as $subject describes,
and one patch including CPU info  in the capabilities XML.

> index f1d5ecc..3aa73f0 100644
> --- a/src/parallels/parallels_driver.c
> +++ b/src/parallels/parallels_driver.c
> @@ -51,6 +51,7 @@
>  #include "nodeinfo.h"
>  #include "c-ctype.h"
>  #include "virstring.h"
> +#include "cpu/cpu.h"
>  
>  #include "parallels_driver.h"
>  #include "parallels_utils.h"
> @@ -117,7 +118,9 @@ parallelsDomObjFreePrivate(void *p)
>  static virCapsPtr
>  parallelsBuildCapabilities(void)
>  {
> -    virCapsPtr caps;
> +    virCapsPtr caps = NULL;
> +    virCPUDefPtr cpu = NULL;
> +    virCPUDataPtr data = NULL;
>      virCapsGuestPtr guest;
>  
>      if ((caps = virCapabilitiesNew(virArchFromHost(),
> @@ -147,11 +150,25 @@ parallelsBuildCapabilities(void)
>                                        "parallels", NULL, NULL, 0, NULL) == NULL)
>          goto error;
>  
> +    if (VIR_ALLOC(cpu) < 0)
> +        goto error;
> +
> +    cpu->arch = caps->host.arch;
> +    cpu->type = VIR_CPU_TYPE_HOST;
> +    caps->host.cpu = cpu;

I think you should also fill in the sockets/cores/threads info
while you're doing this, since openstack is likely to start using
this data too in the near future. eg

  virNodeInfo nodeinfo;
  ...
  if (nodeGetInfo(&nodeinfo))
        goto error;
  ...
  cpu->sockets = nodeinfo.sockets;
  cpu->cores = nodeinfo.cores;
  cpu->threads = nodeinfo.threads;


Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list