Hide Forgot
libvirt shouldn't allow an ambiguous XML configuration regarding CPU topology. Example, what guest CPU config does the following XML represent? <domain> ... <vcpus>3</vcpus> <cpu> <topology sockets='2' cores='2' threads='2'/> </cpu> ... </domain> It is unclear, and libvirt shouldn't accept that config. What I think libvirt should do is make sockets= a readonly attribute that just mirrors the old style <vcpus> value. We just throw out the any value the user passes for sockets= and sync with vcpus. Then we clarify the docs that for HVM, <vcpus> is not 'logical guest cpus' or anything like that, it represents a distinct socket to the guest. That should allow people to edit <vcpus> like normal. And my understanding is that HVs that do CPU hotplug do it at the socket level anyways, so setvcpus commands still retain the correct semantics. Some background: https://bugzilla.redhat.com/show_bug.cgi?id=708892#c2
*** This bug has been marked as a duplicate of bug 725269 ***