[libvirt] [PATCH v5 1/2] conf: List only online cpus for virsh vcpupin

John Ferlan jferlan at redhat.com
Tue Dec 13 23:57:13 UTC 2016



On 11/24/2016 04:55 AM, Nitesh Konkar wrote:
> Currently when the vcpu placement is static
> and cpuset is not specified, CPU Affinity
> under virsh vcpupin shows 0..CPUMAX. This
> patchset will result in display of only
> online CPU's under CPU Affinity on linux.
> 
> Signed-off-by: Nitesh Konkar <nitkon12 at linux.vnet.ibm.com>
> ---
>  src/conf/domain_conf.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 

It seems there are some similarities to Viktor's series:

http://www.redhat.com/archives/libvir-list/2016-November/msg01320.html

at least with respect to creating an accessor function (in patch 1)
virHostCPUHasBitmap that will hide that virHostCPUGetOnlineBitmap call
and the ugly #ifdef __linux__ in the domain_conf.c file.

Using virHostCPUHasBitmap will hide the need for the #ifdef...

Secondary, should there be a fallback in the event that a NULL is
returned from virHostCPUGetOnlineBitmap?

Finally, does there need to be a similar call to like what Viktor did
w/r/t virProcessGetAffinity and making sure the bitmaps are equal?


John

> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index e7517d9..f25cf63 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -56,6 +56,7 @@
>  #include "virstring.h"
>  #include "virnetdev.h"
>  #include "virhostdev.h"
> +#include "virhostcpu.h"
>  
>  #define VIR_FROM_THIS VIR_FROM_DOMAIN
>  
> @@ -1549,10 +1550,15 @@ virDomainDefGetVcpuPinInfoHelper(virDomainDefPtr def,
>      if (hostcpus < 0)
>          return -1;
>  
> +#ifdef __linux__
> +    if (!(allcpumap = virHostCPUGetOnlineBitmap()))
> +        return -1;
> +#else
>      if (!(allcpumap = virBitmapNew(hostcpus)))
>          return -1;
>  
>      virBitmapSetAll(allcpumap);
> +#endif
>  
>      for (i = 0; i < maxvcpus && i < ncpumaps; i++) {
>          virDomainVcpuDefPtr vcpu = virDomainDefGetVcpu(def, i);
> 




More information about the libvir-list mailing list