/proc/cpuinfo only shows the original set of flags supported from the base kernel release but does not include new features present in supported cpus, so even for features supported in CPUs that we backport to RHEL5 (eg. nahalem) these features are not reflected in /proc/cpuinfo. x86info does reflect the supported features.
I've noticed this too but haven't really thought it much of a problem as no one has really complained about it. In all likelihood the setup.c code needs to be updated (probably along with a few other chunks here and there). P.
(In reply to comment #0) > /proc/cpuinfo only shows the original set of flags supported from the base > kernel release but does not include new features present in supported cpus, so > even for features supported in CPUs that we backport to RHEL5 (eg. nahalem) > these features are not reflected in /proc/cpuinfo. > > x86info does reflect the supported features. Andrew, I'm basically planning on backporting upstream's representation of the cpu flags. Are there any in particular you want me to get, or is just taking as much of upstream as possible good enough? P.
Adding both Bhavna(AMD) and John(Intel) to this BZ. From a private comment, "the important ones for now are: intel: ssse3,sse4_1,sse4_2,popcnt amd: sse4a,misalignsse,popcnt,abm the ones i know are missing for sure are ssse3, sse4_1, sse4_2. " Bhavna, John -- anything else you two consider critical for a cpu flag update? P.
Looking at things, a wholesale flag backport is likely out of the question. So I'm going to concentrate on the 8 flags previously identified in this BZ. P.
Created attachment 357947 [details] RHEL5 initial patch for this issue i386 testing on 5300 series chips: patched: 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 pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm --- unpatched: 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 pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr P.
come to think of it, we should also add these flags to arch/x86/kvm/x86.c if we want them to be exposed to guests and actually used (assuming these flags virtualize well). so patch 357947 is only part of the solution.
(In reply to comment #10) > come to think of it, we should also add these flags to arch/x86/kvm/x86.c if we > want them to be exposed to guests and actually used (assuming these flags > virtualize well). so patch 357947 is only part of the solution. Yup. The patch is a preliminary patch just for proof of concept. I also have to update the xen files as well. P.
(In reply to comment #10) > we should also add these flags to arch/x86/kvm/x86.c if we > want them to be exposed to guests and actually used I have to retract that part; if specified on the command line, a flag is exposed to guest no matter if kvm considers it "supported" or not. Adding these flags to qemu's target-i386/helper.c should be enough.
Created attachment 357963 [details] RHEL5 fix for this issue Included xen changes.
From Nehalem-EX < 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 cx16 xtpr popcnt lahf_lm > 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
I've opened 517337 for the kvm patch which appears to be a single line patch. Bug 517337 has been assigned to danken. P.
Created attachment 358088 [details] RHEL5 fix for bare-metal and xen
(In reply to comment #15) > I've opened 517337 for the kvm patch which appears to be a single line patch. > > Bug 517337 has been assigned to danken. > > P. bug is # Bug 518337
(In reply to comment #7) > Adding both Bhavna(AMD) and John(Intel) to this BZ. > > From a private comment, > > "the important ones for now are: > intel: ssse3,sse4_1,sse4_2,popcnt > amd: sse4a,misalignsse,popcnt,abm > > the ones i know are missing for sure are ssse3, sse4_1, sse4_2. " > > Bhavna, John -- anything else you two consider critical for a cpu flag update? > > P. The flags you list for AMD are all present in RHEL5.4 development kernel that's running on one of my test systems. I don't see anything critical missing, however, could you please show me a dump much like comment #9, just so I'm clear on the problem that's been identified? Bhavna
this was just the list of flags to verify since we want to expose them. if you see the amd flags on a 5.4 kernel we should be fine.
> The flags you list for AMD are all present in RHEL5.4 development kernel that's > running on one of my test systems. I don't see anything critical missing, > however, could you please show me a dump much like comment #9, just so I'm > clear on the problem that's been identified? > The AMD flags are showing up, they're just not defined in cpufeature.h. My patch only adds them to cpufeature.h. So I think you're okay ;) The Intel flags are missing, however. diff of /proc/cpuinfo on Barcelona system 128.el5 < 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 mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc pni cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy altmovcr8 abm sse4a misalignsse 3dnowprefetch osvw 162.el5 + patch > 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 mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc pni cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy altmovcr8 abm sse4a misalignsse 3dnowprefetch osvw P. > Bhavna
in kernel-2.6.18-165.el5 You can download this test kernel from http://people.redhat.com/dzickus/el5 Please do NOT transition this bugzilla state to VERIFIED until our QE team has sent specific instructions indicating when to do so. However feel free to provide a comment indicating that this fix has been verified.
It seems like I got a false positive on testing. ddd retested and didn't see the flags. We added a simple two line patch to setup-xen.c, and the flags then appeared. P.
Created attachment 387637 [details] RHEL5 fix for bare-metal and xen part II
Posted the above patch that resolves the xen side of things. P.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2010-0178.html