Bug 606262 - 64bit RHEL6.0 Guest kernel has cpu flags "rep_good" unsupported by host
Summary: 64bit RHEL6.0 Guest kernel has cpu flags "rep_good" unsupported by host
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kvm
Version: 5.6
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: john cooper
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks: Rhel5KvmTier2
TreeView+ depends on / blocked
 
Reported: 2010-06-21 09:29 UTC by Joy Pu
Modified: 2014-07-25 03:46 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-08-31 15:05:22 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Joy Pu 2010-06-21 09:29:04 UTC
Description:
In the RHEL5.6 host, RHEL6.0 guest will get unsupported cpu flag 'rep_good'. This only happend in 64 bit guest.

Version-Release number of selected component (if applicable):
host kernel:2.6.18-203.el5.x86_64
guest kernel: 2.6.32-36.el6.x86_64
rpm -qa |grep qemu
kvm-qemu-img-83-183.el5
gpxe-roms-qemu-0.9.7-8.el5

How reproducible:
Always

Steps to Reproduce:
1. boot up a RHEL-6.0 guest
2. get the cpuinfo by cat both in guest and host
#cat /proc/cpuinfo

Actual results:
Guest kernel has unsupported cpu flags by host

Expected results:
There is no flags which is shown in guest but not in host

Additional info:
1. The command line:
#  /usr/local/staf/test/RHEV/kvm-new/autotest/client/tests/kvm/qemu -name vm1 -monitor tcp:0:6001,server,nowait -drive file=/usr/local/staf/test/RHEV/kvm-new/autotest/client/tests/kvm/images/RHEL-Server-6.0-64-virtio.qcow2,if=virtio,cache=none,boot=on -net nic,vlan=0,model=virtio,macaddr=02:70:05:8F:0a:5b -net tap,vlan=0,ifname=virtio_0_6001,script=/usr/local/staf/test/RHEV/kvm-new/autotest/client/tests/kvm/scripts/qemu-ifup-switch,downscript=no -m 1024 -smp 1 -soundhw ac97 -redir tcp:5000::22 -vnc :0 -spice port=8000,disable-ticketing -usbdevice tablet -rtc-td-hack -cpu qemu64,+sse2 -no-kvm-pit-reinjection -serial unix:/tmp/serial-20100621-170631-Esp3,server,nowait -no-hpet

2.Host cpuinfo
processor       : 7
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Xeon(R) CPU           W3520  @ 2.67GHz
stepping        : 5
cpu MHz         : 1596.000
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 3
cpu cores       : 4
apicid          : 7
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips        : 5319.91
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management: [8]



3. Guest cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 6
model name      : QEMU Virtual CPU version 0.9.1
stepping        : 3
cpu MHz         : 2660.078
cache size      : 32 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 4
wp              : yes
flags           : fpu de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm up rep_good unfair_spinlock pni hypervisor
bogomips        : 5320.15
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:


4. x86info of host and guest
Host:
x86info v1.20.  Dave Jones 2001-2006
Feedback to <davej>.

Found 8 CPUs
MP Table:
#	APIC ID	Version	State		Family	Model	Step	Flags
#	 0	 0x15	 BSP, usable	 6	 10	 5	 0xbfebfbff
#	 2	 0x15	 AP, usable	 6	 10	 5	 0xbfebfbff
#	 4	 0x15	 AP, usable	 6	 10	 5	 0xbfebfbff
#	 6	 0x15	 AP, usable	 6	 10	 5	 0xbfebfbff

--------------------------------------------------------------------------
CPU #1
eax in: 0x00000000, eax = 0000000b ebx = 756e6547 ecx = 6c65746e edx = 49656e69
eax in: 0x00000001, eax = 000106a5 ebx = 00100800 ecx = 009ce3bd edx = bfebfbff
eax in: 0x00000002, eax = 55035a01 ebx = 00f0b2e4 ecx = 00000000 edx = 09ca212c
eax in: 0x00000003, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000004, eax = 1c004121 ebx = 01c0003f ecx = 0000003f edx = 00000000
eax in: 0x00000005, eax = 00000040 ebx = 00000040 ecx = 00000003 edx = 00001120
eax in: 0x00000006, eax = 00000003 ebx = 00000002 ecx = 00000001 edx = 00000000
eax in: 0x00000007, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000008, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000009, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x0000000a, eax = 07300403 ebx = 00000044 ecx = 00000000 edx = 00000603
eax in: 0x0000000b, eax = 00000001 ebx = 00000002 ecx = 00000100 edx = 00000000

eax in: 0x80000000, eax = 80000008 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000001, eax = 00000000 ebx = 00000000 ecx = 00000001 edx = 28100800
eax in: 0x80000002, eax = 65746e49 ebx = 2952286c ecx = 6f655820 edx = 2952286e
eax in: 0x80000003, eax = 55504320 ebx = 20202020 ecx = 20202020 edx = 57202020
eax in: 0x80000004, eax = 30323533 ebx = 20402020 ecx = 37362e32 edx = 007a4847
eax in: 0x80000005, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000006, eax = 00000000 ebx = 00000000 ecx = 01006040 edx = 00000000
eax in: 0x80000007, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000100
eax in: 0x80000008, eax = 00003024 ebx = 00000000 ecx = 00000000 edx = 00000000

Family: 6 Model: 10 Stepping: 5 Type: 0 Brand: 0
CPU Model: Pentium II (Deschutes) Original OEM
Feature flags:
 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflsh ds acpi mmx fxsr sse sse2 ss ht tm pbe sse3 monitor ds-cpl vmx est tm2 ssse3 cx16 xTPR dca
Extended feature flags:
 SYSCALL xd em64t lahf_lm
Cache info
 L1 Data cache: 32KB, 8-way associative. 64 byte line size.
TLB info
 Data TLB: 4KB pages, 4-way associative, 64 entries
 64 byte prefetching.
Found unknown cache descriptors: 09 21 55 5a b2 ca e4 
Processor serial: 0001-06A5-0000-0000-0000-0000

Number of reporting banks : 9

Erk, MCG_CTL not present! :0000000000001c09:

Bank: 0 (0x400)
MC0CTL:    00000000 00000000 00000000 00000000
           00000000 00000000 00000111 11111111
MC0STATUS: 00000000 00000000 00000000 00000000
           00000000 00000000 00001111 11111111
MC0ADDR:   00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000000

Bank: 1 (0x404)
MC1CTL:    00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000000
MC1STATUS: 00000000 00000000 00000000 00000000
           00000000 00000000 00001111 11111111
MC1ADDR:   00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000000

Bank: 2 (0x408)
MC2CTL:    00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00001111
MC2STATUS: 00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000000
MC2ADDR:   00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000000

Bank: 3 (0x40c)
MC3CTL:    00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000011
MC3STATUS: 00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000000
MC3ADDR:   00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000000

Bank: 4 (0x410)
MC4CTL:    00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000011
MC4STATUS: 00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000000
MC4ADDR:   Couldn't read MSR 0x412

Bank: 5 (0x414)
MC5CTL:    00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00001111
MC5STATUS: 00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000000
MC5ADDR:   00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000000

Bank: 6 (0x418)
MC6CTL:    00000000 00000000 00000000 00000000
           00000000 00000000 00000001 11111111
MC6STATUS: 00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000000
MC6ADDR:   00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000000

Bank: 7 (0x41c)
MC7CTL:    00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000111
MC7STATUS: 00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000000
MC7ADDR:   Couldn't read MSR 0x41e

Bank: 8 (0x420)
MC8CTL:    00000000 00000000 00000000 00000000
           00000000 00000000 00000111 11111111
MC8STATUS: 00000000 00000000 00000000 00000000
           00000000 00000000 00000000 00000000
MC8ADDR:   00000000 00000000 00000000 00000011
           11111111 11111111 11111111 11111111

The physical package supports 16 logical processors 

Microcode version: 0x0000000000000011

Connector type: Slot 1 (242 Contact Cartridge)


MTRR registers:
MTRRcap (0xfe): 0x0000000000000d08
MTRRphysBase0 (0x200): 0x00000000c0000000
MTRRphysMask0 (0x201): 0x0000000fc0000800
MTRRphysBase1 (0x202): 0x0000000000000006
MTRRphysMask1 (0x203): 0x0000000e00000800
MTRRphysBase2 (0x204): 0x0000000200000006
MTRRphysMask2 (0x205): 0x0000000f00000800
MTRRphysBase3 (0x206): 0x0000000300000006
MTRRphysMask3 (0x207): 0x0000000fc0000800
MTRRphysBase4 (0x208): 0x00000000bf800000
MTRRphysMask4 (0x209): 0x0000000fff800800
MTRRphysBase5 (0x20a): 0x0000000000000000
MTRRphysMask5 (0x20b): 0x0000000000000000
MTRRphysBase6 (0x20c): 0x0000000000000000
MTRRphysMask6 (0x20d): 0x0000000000000000
MTRRphysBase7 (0x20e): 0x0000000000000000
MTRRphysMask7 (0x20f): 0x0000000000000000
MTRRfix64K_00000 (0x250): 0x0606060606060606
MTRRfix16K_80000 (0x258): 0x0606060606060606
MTRRfix16K_A0000 (0x259): 0x0000000000000000
MTRRfix4K_C8000 (0x269): 0x0505050505050505
MTRRfix4K_D0000 0x26a: 0x0000000000000000
MTRRfix4K_D8000 0x26b: 0x0000000000000000
MTRRfix4K_E0000 0x26c: 0x0505050505050505
MTRRfix4K_E8000 0x26d: 0x0505050505050505
MTRRfix4K_F0000 0x26e: 0x0505050505050505
MTRRfix4K_F8000 0x26f: 0x0505050505050505
MTRRdefType (0x2ff): 0x0000000000000c00


2.65GHz processor (estimate).

Guest:
x86info v1.25.  Dave Jones 2001-2009
Feedback to <davej>.

Found 1 CPU, but found 16d CPUs in MPTable.
MP Table:
#	APIC ID	Version	State		Family	Model	Step	Flags
#	 0	 0x11	 BSP, usable	 6	 0	 0	 0x0201
#	 1	 0x11	 AP, unusable	 6	 0	 0	 0x0201
#	 2	 0x11	 AP, unusable	 6	 0	 0	 0x0201
#	 3	 0x11	 AP, unusable	 6	 0	 0	 0x0201
#	 4	 0x11	 AP, unusable	 6	 0	 0	 0x0201
#	 5	 0x11	 AP, unusable	 6	 0	 0	 0x0201
#	 6	 0x11	 AP, unusable	 6	 0	 0	 0x0201
#	 7	 0x11	 AP, unusable	 6	 0	 0	 0x0201
#	 8	 0x11	 AP, unusable	 6	 0	 0	 0x0201
#	 9	 0x11	 AP, unusable	 6	 0	 0	 0x0201
#	10	 0x11	 AP, unusable	 6	 0	 0	 0x0201
#	11	 0x11	 AP, unusable	 6	 0	 0	 0x0201
#	12	 0x11	 AP, unusable	 6	 0	 0	 0x0201
#	13	 0x11	 AP, unusable	 6	 0	 0	 0x0201
#	14	 0x11	 AP, unusable	 6	 0	 0	 0x0201
#	15	 0x11	 AP, unusable	 6	 0	 0	 0x0201

--------------------------------------------------------------------------
EFamily: 0 EModel: 0 Family: 6 Model: 6 Stepping: 3
CPU Model: Celeron / Mobile Pentium II
Type: 0 (Original OEM)	Brand: 0 (Unsupported)

Number of reporting banks : 0

Erk, MCG_CTL not present! :0000000000000000:


Number of cores per physical package=1
Number of logical processors per socket=1
Number of logical processors per core=1
APIC ID: 0x0	Package: 0  Core: 0   SMT ID 0
eax in: 0x00000000, eax = 00000004 ebx = 756e6547 ecx = 6c65746e edx = 49656e69
eax in: 0x00000001, eax = 00000663 ebx = 00000800 ecx = 80000001 edx = 078bfbfd
eax in: 0x00000002, eax = 00000001 ebx = 00000000 ecx = 00000000 edx = 002c307d
eax in: 0x00000003, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000004, eax = 00000121 ebx = 01c0003f ecx = 0000003f edx = 00000001

eax in: 0x80000000, eax = 8000000a ebx = 68747541 ecx = 444d4163 edx = 69746e65
eax in: 0x80000001, eax = 078bfbfd ebx = 00000000 ecx = 00000000 edx = 2191abfd
eax in: 0x80000002, eax = 554d4551 ebx = 72695620 ecx = 6c617574 edx = 55504320
eax in: 0x80000003, eax = 72657620 ebx = 6e6f6973 ecx = 392e3020 edx = 0000312e
eax in: 0x80000004, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000005, eax = 01ff01ff ebx = 01ff01ff ecx = 40020140 edx = 40020140
eax in: 0x80000006, eax = 00000000 ebx = 42004200 ecx = 02008140 edx = 00000000
eax in: 0x80000007, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000008, eax = 00003028 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000009, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x8000000a, eax = 00000001 ebx = 00000010 ecx = 00000000 edx = 00000000

Cache info
 L1 Instruction cache: 32KB, 8-way associative. 64 byte line size.
 L1 Data cache: 32KB, 8-way associative. 64 byte line size.
 L2 cache: 2MB, 8-way associative. 64 byte line size.
TLB info
Feature flags:
 fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflsh mmx fxsr sse sse2
Extended feature flags:
 sse3 [31]
 [0] [2] [3] [4] [5] [6] [7] [8] [9] SYSCALL [13] [15] [16] xd [23] [24] em64t
Connector type: Socket 370  (370 Pin PGA)

MTRR registers:
MTRRcap (0xfe): 0x0000000000000508
MTRRphysBase0 (0x200): 0x00000000c0000000
MTRRphysMask0 (0x201): 0xffffffffe0000800
MTRRphysBase1 (0x202): 0x0000000000000000
MTRRphysMask1 (0x203): 0x0000000000000000
MTRRphysBase2 (0x204): 0x0000000000000000
MTRRphysMask2 (0x205): 0x0000000000000000
MTRRphysBase3 (0x206): 0x0000000000000000
MTRRphysMask3 (0x207): 0x0000000000000000
MTRRphysBase4 (0x208): 0x0000000000000000
MTRRphysMask4 (0x209): 0x0000000000000000
MTRRphysBase5 (0x20a): 0x0000000000000000
MTRRphysMask5 (0x20b): 0x0000000000000000
MTRRphysBase6 (0x20c): 0x0000000000000000
MTRRphysMask6 (0x20d): 0x0000000000000000
MTRRphysBase7 (0x20e): 0x0000000000000000
MTRRphysMask7 (0x20f): 0x0000000000000000
MTRRfix64K_00000 (0x250): 0x0606060606060606
MTRRfix16K_80000 (0x258): 0x0606060606060606
MTRRfix16K_A0000 (0x259): 0x0000000000000000
MTRRfix4K_C8000 (0x269): 0x0000000000000000
MTRRfix4K_D0000 0x26a: 0x0000000000000000
MTRRfix4K_D8000 0x26b: 0x0000000000000000
MTRRfix4K_E0000 0x26c: 0x0000000000000000
MTRRfix4K_E8000 0x26d: 0x0000000000000000
MTRRfix4K_F0000 0x26e: 0x0000000000000000
MTRRfix4K_F8000 0x26f: 0x0000000000000000
MTRRdefType (0x2ff): 0x0000000000000c06


2.65GHz processor (estimate).

Comment 1 john cooper 2010-08-31 15:05:22 UTC
(In reply to comment #0)

> Actual results:
> Guest kernel has unsupported cpu flags by host
> 
> Expected results:
> There is no flags which is shown in guest but not in host

The "rep_good" flag is a linux kernel defined pseudo flag
and is not exported by kvm/qemu:

arch/x86/include/asm/cpufeature.h:

    #define X86_FEATURE_MFENCE_RDTSC (3*32+17) /* "" Mfence synchronizes RDTSC */

arch/x86/kernel/cpu/feature_names.c:

       /* Other (Linux-defined) */
       "cxmmx", "k6_mtrr", "cyrix_arr", "centaur_mcr",
       NULL, NULL, NULL, NULL,
       "constant_tsc", "up", NULL, "arch_perfmon",
       "pebs", "bts", NULL, NULL,
       "rep_good", NULL, NULL, NULL, NULL, NULL, NULL, NULL,
       NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,

This appears to be informational-only and is not a bug.  Even if
it is an issue in some scenario it falls outside of qemu/kvm.


Note You need to log in before you can comment on or make changes to this bug.