[pve-devel] cpu hotplug need some rework

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


Hi,

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

http://lists.gnu.org/archive/html/qemu-devel/2014-11/msg01305.html

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 
(%u)\n",
+                    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:

sockets:2
cores:2

and maybe a new option like

cpus:1-maxcpus

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 
maxcpus=sockets*cores 
and 
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