Cause: Libvirt has problem of parsing the CPU topology on
special platform (E.g. AMD Magny Cours).
Consequence: The wrong CPU topology parsing could cause
1) Performance lost
Domain process and domain vCPU threads can only be pinned
to part of the physical CPUs.
2) Domain might be not able to start
If a domain uses vcpu "auto" placement, and the advisory nodeset returned from numad contains node which exceeds the range of wrong total CPU number. The domain will fail to start.
3) Wrong CPU number affects lots of stuffs. E.g.
For command "virsh vcpuinfo", "virsh vcpupin", etc. It will always output with the truncated CPU list.
Fix: Parse the "cpu cores" in /proc/cpuinfo to get the
correct CPU number.
Result: All stuffs related with the CPU topology work again
on the special platform.