Bug 689682

Summary: CPU siblings number behaves different with/without specifying CPU vendor
Product: Red Hat Enterprise Linux 6 Reporter: Chao Yang <chayang>
Component: qemu-kvmAssignee: Virtualization Maintenance <virt-maint>
Status: CLOSED NOTABUG QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.1CC: bcao, juzhang, michen, mkenneth, shuang, shu, tburke, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-03-22 10:42:25 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Chao Yang 2011-03-22 05:40:22 UTC
Description of problem:
Boot RHEL-3.9-32 or RHEL-3.9-PAE guest on AMD host, sibling number in guest behaves different if with/without vendor.

Version-Release number of selected component (if applicable):
# rpm -qa|grep qemu-kvm
qemu-kvm-debuginfo-0.12.1.2-2.151.el6.x86_64
qemu-kvm-0.12.1.2-2.151.el6.x86_64
qemu-kvm-tools-0.12.1.2-2.151.el6.x86_64

Host cpuinfo:
processor	: 3
vendor_id	: AuthenticAMD
cpu family	: 16
model		: 2
model name	: AMD Phenom(tm) 9600B Quad-Core Processor
stepping	: 3
cpu MHz		: 1150.000
cache size	: 512 KB
physical id	: 0
siblings	: 4
core id		: 3
cpu cores	: 4
apicid		: 3
initial apicid	: 3
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs npt lbrv svm_lock
bogomips	: 4587.44
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate


How reproducible:
100%

Steps to Reproduce:
1./usr/libexec/qemu-kvm -M rhel6.1.0 -enable-kvm -m 4096 -smp 2,cores=2,threads=1,socket=2 -cpu Opteron_G3,+pbe,-nx,vendor="abcd1234THIS" -name rhel3u9-PAE -uuid `uuidgen` -rtc base=localtime,clock=vm,driftfix=slew -no-kvm-pit-reinjection -boot c -drive file=/mnt/images/RHEL-3.9-32-virtio.qcow2,if=none,id=drive-virtio-0-0,media=disk,format=qcow2,cache=none -device virtio-blk-pci,drive=drive-virtio-0-0,id=virt0-0-0 -netdev tap,id=hostnet1 -device virtio-net-pci,netdev=hostnet1,id=net1,mac=52:54:40:81:11:53 -usb -device usb-tablet,id=input1 -vnc :0 -monitor stdio -balloon none

2.
3.
  
Actual results:
WITH vendor specified:
grep "siblings" 
siblings	: 1
siblings	: 1

grep "physical id" | sort | uniq | wc -l
1
WITHOUT vendor specified:
grep "siblings" 
siblings	: 2
siblings	: 2
grep "physical id" | sort | uniq | wc -l
1

Expected results:
1. number of siblings should be 2
2. cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l  should output 2
Additional info:

Comment 2 Dor Laor 2011-03-22 10:42:25 UTC
The vendor string should be specific like GenuineIntel or AutheticAMD and not something you invented.

Comment 3 Chao Yang 2011-03-22 11:44:50 UTC
(In reply to comment #2)
> The vendor string should be specific like GenuineIntel or AutheticAMD and not
> something you invented.

Hi Dor,
 I boot the guest without specifying the vendor id, seems the siblings value is still not right. If any wrong, please correct me. Thanks.

CLI:
 /usr/libexec/qemu-kvm -M rhel6.1.0 -enable-kvm -m 4096 -smp 2,cores=4,threads=1,socket=2 -cpu Opteron_G3,-x2apic,+svm -name rhel4.9 ...-boot c -drive file=/mnt/images/RHEL-4.9-32-virtio.qcow2...

processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 15
model		: 6
model name	: AMD Opteron 23xx (Gen 3 Class Opteron)
stepping	: 1
cpu MHz		: 2295.061
cache size	: 512 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni syscall nx lm pni popcnt
bogomips	: 4598.44

processor	: 1
vendor_id	: AuthenticAMD
cpu family	: 15
model		: 6
model name	: AMD Opteron 23xx (Gen 3 Class Opteron)
stepping	: 1
cpu MHz		: 2295.061
cache size	: 512 KB
physical id	: 0
siblings	: 2
core id		: 1
cpu cores	: 2
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni syscall nx lm pni popcnt
bogomips	: 4857.89

Comment 4 Chao Yang 2011-03-22 11:55:48 UTC
Dor,
 Boot rhel3.9-32 guest with same cli except the vm image, cat /proc/cpuinfo outputs the correct siblings & cpu cores number in guest.
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 15
model		: 6
model name	: AMD Opteron 23xx (Gen 3 Class Opteron)
stepping	: 1
cpu MHz		: 2293.758
cache size	: 512 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 4
runqueue	: 0
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm
bogomips	: 4561.30

processor	: 1
vendor_id	: AuthenticAMD
cpu family	: 15
model		: 6
model name	: AMD Opteron 23xx (Gen 3 Class Opteron)
stepping	: 1
cpu MHz		: 2293.758
cache size	: 512 KB
physical id	: 0
siblings	: 4
core id		: 1
cpu cores	: 4
runqueue	: 1
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm
bogomips	: 4574.41

Comment 5 Chao Yang 2011-03-22 12:55:18 UTC
Seems "physical id" is wrong,  too.