This bug was initially created as a copy of Bug #1615682 I am copying this bug because: It is not fixed upstream yet and requires some clean up in the CPU cache configuration code. The RHEL-7 bug will likely be closed and this will be fixed in RHEL-8 and RHEL-AV-8 only. Description of problem: Guest should get 2 threads per core and all of them should be on-line when booting guest with old amd cpu model + smt Version-Release number of selected component (if applicable): qemu-kvm-rhev-2.12.0-10.el7.x86_64 kernel-3.10.0-933.el7.x86_64(host & guest) How reproducible: 100% Steps to Reproduce: 1.Boot rhel7.6 guest with cli: /usr/libexec/qemu-kvm -name rhel7.6 -m 16G -machine pc,accel=kvm \ -S \ -cpu Opteron_G3,+topoext,xlevel=0x8000001e,enforce \ -smp 2,threads=2 \ -monitor stdio \ -qmp unix:/tmp/qmp2,server,nowait \ -device VGA \ -vnc :0 \ -serial unix:/tmp/console2,server,nowait \ -uuid 115e11b2-a869-41b5-91cd-6a32a907be7f \ -drive file=rhel7.6-20180812.qcow2,if=none,id=drive-scsi-disk0,format=qcow2,cache=none,werror=stop,rerror=stop -device ide-hd,drive=drive-scsi-disk0,id=scsi-disk0 \ -netdev tap,id=idinWyYY,vhost=on -device virtio-net-pci,mac=2e:39:fa:ff:88:a1,id=idlbq7eA,netdev=idinWyYY \ 2.check cpu info inside guest 3. Actual results: Guest gets one online cpu, one offline cpu and one thread per core: # lscpu lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0 Off-line CPU(s) list: 1 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 1 NUMA node(s): 1 Vendor ID: AuthenticAMD CPU family: 16 Model: 2 Model name: AMD Opteron 23xx (Gen 3 Class Opteron) Stepping: 3 CPU MHz: 2096.060 BogoMIPS: 4192.12 Hypervisor vendor: KVM Virtualization type: full L1d cache: 64K L1i cache: 64K L2 cache: 512K L3 cache: 16384K NUMA node0 CPU(s): 0 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm art rep_good nopl extd_apicid pni cx16 x2apic popcnt hypervisor lahf_lm cmp_legacy abm sse4a misalignsse topoext retpoline_amd ibp_disable vmmcall Expected results: Guest should get 2 threads per core and all of them should be on-line Additional info:
For info on another crash caused by the same issue, see bug 1619166.
QEMU has been recently split into sub-components and as a one-time operation to avoid breakage of tools, we are setting the QEMU sub-component of this BZ to "General". Please review and change the sub-component if necessary the next time you review this BZ. Thanks
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release. Therefore, it is being closed. If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.
Hi Eduardo, I still can reproduce this bug now, do we have a plan to fix this? If so, we can re-open this bug. Test environments: hp-dl585g7-05.lab.eng.pek2.redhat.com Model name: AMD Opteron(tm) Processor 6376 kernel-4.18.0-297.el8.x86_64 qemu-kvm-5.2.0-11.module+el8.4.0+10268+62bcbbed.x86_64 Steps: 1. Boot guest with: -smp 2,threads=2 \ -cpu 'Opteron_G3',+topoext,xlevel=0x8000001e,enforce,+kvm_pv_unhalt \ 2. check the topology inside the guest. Results inside guest: [root@vm-73-220 ~]# lscpu lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Thread(s) per core: 1 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Best regards Liu Nana
(In reply to liunana from comment #9) > Hi Eduardo, > > > I still can reproduce this bug now, do we have a plan to fix this? > If so, we can re-open this bug. No short term plans to address this, and no customer complaints about it. We can leave it closed.