Red Hat Bugzilla – Bug 1462183
[RFE] warn the user if trying to use hyperthreading on unsupported architecture
Last modified: 2017-09-28 04:54:05 EDT
Description of problem:
The cpu topology shows in guest by command 'lscpu' is different from the configuration in RHV-M and libvirt dumpxml file in register host
Version-Release number of selected component (if applicable):
RHV-M register host:
Steps to Reproduce:
1. In the RHV-M GUI, remove 'CPU' filter from 'none' scheduling policy, and make'cluster' select the 'none' scheduling policy.
2. In the RHV-M GUI, configure the data center with hosts and storage， then New a vm called vm1, confirm the vm can start successfully.
3. Configure 'system' configuration of vm as following, and check the vm can start the vm normally.
Total Virtual CPUs:100
Cores per Virtual Socket:4
threads per Core:5
4.After step3 check the libvirt dumpxml file in register host and execute command 'lscpu' in guest:
In Host check libvirt dumpxml:
<vcpu placement='static' current='100'>160</vcpu>
<cpu mode='custom' match='exact' check='full'>
<topology sockets='8' cores='4' threads='5'/>
On-line CPU(s) list: 0-99
Thread(s) per core: 1
Core(s) per socket: 20
As step-4 shows.
The cpu topology shows in guest by command 'lscpu'，the configuration in RHV-M and libvirt dumpxml file in register host should be consistent.
Created attachment 1289009 [details]
Logs for the needinfo
The attachment includes the following files:
so, the qemu cmdline looks like:
(the sockets = 8 is there to allow hotplug)
The problem here is that the architecture is AMD which does not support hyperthreading, so qemu changes the "Thread(s) per core" to 1 and manipulates the "Core(s) per socket:" and "Socket(s):" to match the configured num of CPUs.
Turning this into an RFE to warn when the user when he is trying to use hyperthreading on an unsupported architecture.