Bug 1320066

Summary: Qemu should not report error when cmdline set threads=2 in Intel host
Product: Red Hat Enterprise Linux 6 Reporter: weliao <weliao>
Component: qemu-kvmAssignee: Wei Huang (AMD) <wehuang>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.8CC: ailan, chayang, hhuang, juzhang, mkenneth, rbalakri, virt-maint, wehuang, wei, weliao, yiwei, yuhuang, zhguo
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-0.12.1.2-2.495.el6 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-03-21 09:37:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1359965    
Attachments:
Description Flags
patch none

Description weliao 2016-03-22 09:15:43 UTC
Description of problem:
In Intel host, when qemu cmdline set threads=2, without -cpu specified, report 
qemu-kvm: AMD CPU doesn't support hyperthreading. Please configure -smp options properly.

Version-Release number of selected component (if applicable):
2.6.32-633.el6.x86_64
qemu-kvm-0.12.1.2-2.490.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1.# /usr/libexec/qemu-kvm -name win10 -m 6G -smp 2,threads=2,cores=1,sockets=1
qemu-kvm: AMD CPU doesn't support hyperthreading. Please configure -smp options properly.
VNC server running on `::1:5900'
2.
3.

Actual results:
report error:
qemu-kvm: AMD CPU doesn't support hyperthreading. Please configure -smp options properly.

Expected results:
should not report this error

Additional info:
My machine:
model name	: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
just  happens without -cpu specified,  if -cpu type is AMD, report this error, -cpu type is Intel ,didn't report

retest qemu-kvm-0.12.1.2-2.483.el6.x86_64, no this issue,so this a Regression

Comment 2 weliao 2016-03-22 09:27:08 UTC
Hi,Wei
  Seems this bug because fixed Bug 1292678 - Qemu should report error when cmdline set threads=2 in amd host , Can you check it? and on rhel7.2 no this issue.

thanks 
Wei

Comment 4 Wei Huang (AMD) 2016-03-22 20:48:13 UTC
I can reproduce this bug on Intel box. However I think this isn't a bug from the instrumentation I did with QEMU 6.8. Here are the findings:

1) The problem was introduced by commit 50d095912. The related code is in 
   pc_new_cpu() of hw/pc.c file.
2) IS_INTEL_CPU(env) is TRUE, implying that QEMU believes guest is an AMD CPU.
3) I instrumented cpu_x86_register() of target-i386/cpuid.c file. When no -cpu
   is specified, cpu_model name is "cpu64-rhel6". So by default qemu-kvm-6.8 uses
   "cpu64-rhel6" as the CPU model when nothing is specified. According to
   target-i386/cpuid.c, "cpu64-rhel6" is based on AMD CPU model.

From the data collected above, I think this warning msg is legit because AMD CPU doesn't support HyperThreading.

-Wei

Comment 5 Wei Huang (AMD) 2016-03-24 14:09:48 UTC
Is it a common usage case not to specify "-cpu"? I am trying to understand how annoying this warning message is.

Comment 6 juzhang 2016-03-25 00:15:39 UTC
(In reply to Wei Huang from comment #5)
> Is it a common usage case not to specify "-cpu"? I am trying to understand
> how annoying this warning message is.

Hi Wei,

I personally think it's no common scenario. However, 2 concerns.

1. Seems this is regression issue according to comment0

2. It's strange that the qemu-kvm promotes message like "AMD CPU doesn't support ..." but the qemu runs on Intel host.

Best Regards,
Junyi

Comment 7 Wei Huang (AMD) 2016-03-25 07:02:35 UTC
Created attachment 1140266 [details]
patch

Comment 8 Wei Huang (AMD) 2016-03-25 07:03:46 UTC
This issue is indeed a regression. I have created a patch to fix the problem.

Comment 11 Yash Mankad 2016-10-27 20:33:13 UTC
Fix included in qemu-kvm-0.12.1.2-2.495.el6

Comment 13 Yiqian Wei 2016-10-28 02:23:03 UTC
Reproduce proceduce
Host version:
    kernel-2.6.32-642.el6.x86_64
    qemu-kvm-0.12.1.2-2.490.el6.x86_64 
Steps to Reproduce:
1./usr/libexec/qemu-kvm -name win10 -m 6G -smp 2,threads=2,cores=1,sockets=1
qemu-kvm: AMD CPU doesn't support hyperthreading. Please configure -smp options properly.
VNC server running on `::1:5900'
 
Actual results:
report error:
qemu-kvm: AMD CPU doesn't support hyperthreading. Please configure -smp options properly.

-------------------------------------------
Verify this bug 
Host version:
     kernel-2.6.32-642.el6.x86_64
     qemu-kvm-0.12.1.2-2.495.el6.x86_64
Test steps:
1./usr/libexec/qemu-kvm -name win10 -m 6G -smp 2,threads=2,cores=1,sockets=1
VNC server running on `::1:5900'

Test results:
  not report this error.
Conclusion:
  According to result above,this bug has been fixed.

Additional info:
My machine:
model name	: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz

Comment 16 errata-xmlrpc 2017-03-21 09:37:24 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2017-0621.html