Re: [PATCH v5 2/2] conf: List only online cpus for virsh emulatorpin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 25, 2016 at 14:53:07 +0530, Nitesh Konkar wrote:
> Currently when the vcpu placement is static
> and cpuset is not specified, CPU Affinity
> under virsh emulatorpin 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@xxxxxxxxxxxxxxxxxx>
> ---
>  src/qemu/qemu_driver.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index fdfe912..e69d92d 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -5435,9 +5435,14 @@ qemuDomainGetEmulatorPinInfo(virDomainPtr dom,
>                 autoCpuset) {
>          cpumask = autoCpuset;
>      } else {
> +#ifdef __linux__
> +    if (!(bitmap = virHostCPUGetOnlineBitmap()))
> +        goto cleanup;
> +#else
>          if (!(bitmap = virBitmapNew(hostcpus)))
>              goto cleanup;
>          virBitmapSetAll(bitmap);
> +#endif

Adding conditionally compiled code twice does not look good. Please
extract the above into a helper function and use it in the two places
rather than having two blocks of conditional code.

Also I'm not entirely perusaded that this is correct.

When you are getting information for the offline VM the configuration
may change until you start the VM and thus the data gathered here will
not be valid. (e.g. if you turn the cpus back on)

For running VMs the data depends on the state when the VM was started
and at least for vcpu threads is gathered back using
virProcessGetAffinity and thus should be reported correctly.

Additionally we historically treat the "all bits set" cpu map as that
there is no pinning configured. This would change this behavior. When
the VM is started, the real cpu map should be returned, but for the
config time I think the current state is correct and doing your change
would be incorrect.

Peter

Attachment: signature.asc
Description: PGP signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]
  Powered by Linux