[pve-devel] cpu hotplug need some rework

Alexandre DERUMIER aderumier at odiso.com
Thu Jan 8 08:53:12 CET 2015


I just notice that something is wrong currently with cpu hotplug implementation,

and that maybe it'll break in coming qemu release according to this patch


Start guiding users towards making sure their topology supports the
maximum number of cpus they wish to support. A future patch series
will enforce this for new machine types.

+        max_cpus = max_cpus ?: cpus;
+        if (sockets * cores * threads != max_cpus) {
+            fprintf(stderr, "cpu topology: warning: "
+                    "sockets (%u) * cores (%u) * threads (%u) != max_cpus 
+                    sockets, cores, threads, max_cpus);
+        }

Currently, we use "cores" to hotplug vcpus, but this is wrong.

sockets and cores options, should give us topology of hotpluggables cpus.

For example:


and maybe a new option like


to enable hotplugged vcpus 

we should start with cpus=1,sockets=2,cores=2,maxcpus=4

(That give use 1vcpu running in guest with a prefined topology of 2sockets and 2 cores)

then, to hotpluged|unplug vcpus,

qm set -vcpus X

(maybe if hotplug=1, can we add to command line 
cpus=sockets*cores if vcpus option is not defined 

But that mean that we need to remove the maxcpus option to current code,
So I don't known if users already use this feature (not exposed to gui)


More information about the pve-devel mailing list