[libvirt] [PATCH 2/4] vcpupin: add reset option to virsh vcpupin command

Taku Izumi izumi.taku at jp.fujitsu.com
Thu Jun 9 04:08:05 UTC 2011


When resetting vcpupin setting, we have to specify all host physical
cpus as a cpulist parameter of virsh vcpupin command. It's a little
tedious.

This patch changes to allow to receive the special keyword 'r' as a cpulist
parameter of virsh vcpupin command when resetting vcpupin setting.

If you set the following:

 # virsh vcpupin VM 0 r

the vcpu0 will be pinned to all physical cpus.


Signed-off-by: Taku Izumi <izumi.taku at jp.fujitsu.com>
---
 tools/virsh.c   |    7 ++++++-
 tools/virsh.pod |    2 ++
 2 files changed, 8 insertions(+), 1 deletion(-)

Index: libvirt/tools/virsh.c
===================================================================
--- libvirt.orig/tools/virsh.c
+++ libvirt/tools/virsh.c
@@ -3010,8 +3010,13 @@ cmdVcpupin(vshControl *ctl, const vshCmd
 
     /* Parse cpulist */
     cur = cpulist;
-    if (*cur == 0)
+    if (*cur == 0) {
         goto parse_error;
+    } else if (*cur == 'r') {
+        for (cpu = 0; cpu < maxcpu; cpu++)
+            VIR_USE_CPU(cpumap, cpu);
+        *cur = 0;
+    }
 
     while (*cur != 0) {
 
Index: libvirt/tools/virsh.pod
===================================================================
--- libvirt.orig/tools/virsh.pod
+++ libvirt/tools/virsh.pod
@@ -797,6 +797,8 @@ Pin domain VCPUs to host physical CPUs. 
 and I<cpulist> is a list of physical CPU numbers. Its syntax is a comma
 separated list and a special markup using '-' and '^' (ex. '0-4', '0-3,^2')
can
 also be allowed. The '-' denotes the range and the '^' denotes exclusive.
+If you want to reset vcpupin setting, that is, to pin vcpu all physical
cpus,
+simply specify 'r' as a cpulist.
 If I<--live> is specified, affect a running guest.
 If I<--config> is specified, affect the next boot of a persistent guest.
 If I<--current> is specified, affect the current guest state.





More information about the libvir-list mailing list