[libvirt] [PATCH 0/2] List only online cpus for vcpupin/emulatorpin when vcpu placement static

From: nitesh konkar <niteshkonkar.libvirt@gmail.com> Currently when the vcpu placement is static and cpuset is not specified, CPU Affinity shows 0.. CPUMAX. This patchset will result in display of only online CPU's under CPU Affinity. nitesh konkar (2): conf: List only online cpus under CPU Affinity for virsh vcpupin. conf: List only online cpus under CPU Affinity for virsh emulatorpin src/conf/domain_conf.c | 3 +++ src/qemu/qemu_driver.c | 2 ++ 2 files changed, 5 insertions(+) -- 2.1.0

From: nitesh konkar <niteshkonkar.libvirt@gmail.com> Signed-off-by: Nitesh Konkar <nitkon12@linux.vnet.ibm.com> --- src/conf/domain_conf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index a233c0c..227b695 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -55,6 +55,7 @@ #include "virtpm.h" #include "virstring.h" #include "virnetdev.h" +#include "virhostcpu.h" #define VIR_FROM_THIS VIR_FROM_DOMAIN @@ -1562,6 +1563,8 @@ virDomainDefGetVcpuPinInfoHelper(virDomainDefPtr def, else if (def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_AUTO && autoCpuset) bitmap = autoCpuset; + else if (def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC) + bitmap = virHostCPUGetOnlineBitmap(); else if (def->cpumask) bitmap = def->cpumask; else -- 2.1.0

On Mon, Nov 07, 2016 at 22:39:33 +0530, Nitesh Konkar wrote:
From: nitesh konkar <niteshkonkar.libvirt@gmail.com>
Signed-off-by: Nitesh Konkar <nitkon12@linux.vnet.ibm.com> --- src/conf/domain_conf.c | 3 +++ 1 file changed, 3 insertions(+)
See review of 2/2, since this shares all the problems of that patch. Peter

From: nitesh konkar <niteshkonkar.libvirt@gmail.com> Signed-off-by: Nitesh Konkar <nitkon12@linux.vnet.ibm.com> --- src/qemu/qemu_driver.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 38c8414..256d034 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -5435,6 +5435,8 @@ qemuDomainGetEmulatorPinInfo(virDomainPtr dom, } else if (vm->def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_AUTO && autoCpuset) { cpumask = autoCpuset; + } else if (vm->def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC) { + cpumask = virHostCPUGetOnlineBitmap(); } else { if (!(bitmap = virBitmapNew(hostcpus))) goto cleanup; -- 2.1.0

On Mon, Nov 07, 2016 at 22:39:34 +0530, Nitesh Konkar wrote:
From: nitesh konkar <niteshkonkar.libvirt@gmail.com>
Commit message is missing.
Signed-off-by: Nitesh Konkar <nitkon12@linux.vnet.ibm.com> --- src/qemu/qemu_driver.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 38c8414..256d034 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -5435,6 +5435,8 @@ qemuDomainGetEmulatorPinInfo(virDomainPtr dom, } else if (vm->def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_AUTO && autoCpuset) { cpumask = autoCpuset; + } else if (vm->def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC) { + cpumask = virHostCPUGetOnlineBitmap();
This function is implemented only on linux, thus it breaks on all other platforms. Also the returned value needs to be freed, but is leaked in this case. Peter
participants (2)
-
Nitesh Konkar
-
Peter Krempa