Description of problem: VM does not start and gives error "Maximum CPUs greater than topology limit" with some combination of (vsocket and cores) Version-Release number of selected component (if applicable): RHEVM 3.4 libvirt-0.10.2-29.el6_5.8.x86_64 qemu-kvm-rhev-0.12.1.2-2.415.el6_5.10.x86_64 How reproducible: Change vsocket and cores per socket with help RHEV Manager Steps to Reproduce: 1. 2. 3. Actual results: - 12 vCPU (vsocket 2, cores per socket 6), VM didn't start - 12 vCPU (vsocket 3, cores per socket 4), VM started - 12 vCPU (vsocket 6, cores per socket 2), VM started - 12 vCPU (vsocket 12, cores per socket 1), VM started - 8 vCPU (vsocket 2, cores per socket 4), VM started - 6 vCPU (vsocket 2, cores per socket 3), VM didn't start - 4 vCPU (vsocket 2, cores per socket 2), VM started <snippet ends here> Expected results: VM should start for all the combinations of vsocket and cores. Additional info: I could observer the combinations of (vsocket and cores per socket), VM are running fine for exponent power of 2 ( cores per socket) e.g 1, 2, 4... I am not sure whether its a limitation or my thinking is wrong.
Can you show us domain XMLs for the domains that do not start? Or just libvirtd.log showing failed attempts to start the domain. The error is reported clearly when def->cpu->sockets && def->maxvcpus > def->cpu->sockets * def->cpu->cores * def->cpu->threads So it seems something is wrong in the XML.
So I found the failing XML in the sosreport: <vcpu current="12">160</vcpu> <cpu match="exact"> <model>SandyBridge</model> <topology cores="6" sockets="26" threads="1"/> </cpu> And that's wrong since 6*26 is 156. Libvirt is correctly refusing to start the domain.
this is the same issue as in 1121295 *** This bug has been marked as a duplicate of bug 1121295 ***