Bug 515408 - Code under CONFIG_X86_VSMP incorrect after an incorrect patch pull from upstream
Summary: Code under CONFIG_X86_VSMP incorrect after an incorrect patch pull from upstream
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.4
Hardware: All
OS: Linux
low
low
Target Milestone: rc
: ---
Assignee: Prarit Bhargava
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On:
Blocks: 526775 533192
TreeView+ depends on / blocked
 
Reported: 2009-08-04 05:47 UTC by Kiran
Modified: 2010-03-30 07:45 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-03-30 07:45:46 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Patch which corrects in correct detection of vsmp under CONFIG_X86_VSMP (1.35 KB, patch)
2009-08-04 05:47 UTC, Kiran
no flags Details | Diff
RHEL5 fix for this issue (1.24 KB, patch)
2009-08-12 14:27 UTC, Prarit Bhargava
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0178 0 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 5.5 kernel security and bug fix update 2010-03-29 12:18:21 UTC

Description Kiran 2009-08-04 05:47:33 UTC
Created attachment 356100 [details]
Patch which corrects in correct detection of vsmp under CONFIG_X86_VSMP

Description of problem:
Redhat provides kernel sources as a source rpm.  The linux kernel sources can be extracted and optionally rebuilt with extra CONFIG options.  One of the kernel patches applied has been partially pulled/ported causing code under CONFIG_X86_VSMP to be incorrect.  While we understand that Redhat will not support recompiled kernels, the fact that upstream fixes have been partially pulled/pulled incorrectly results in in-correctness of code under CONFIG_X86_VSMP. The patch in question is:
linux-2.6-x86_64-amd-8-socket-apicid-patches.patch
1. is_vsmp_box() will evaluate to return 0 even on a vSMPowered machine
    with CONFIG_X86_VSMP turned on
2. The is_vsmp_box() check is incorrect.

This results in unexpected behavior when kernel is recompiled with CONFIG_X86_VSMP

Version-Release number of selected component (if applicable):
kernel-2.6.18-128.1.16.el5.src.rpm 


How reproducible:
Always

Steps to Reproduce:
One would need a vSMPowered system to reproduce
1.  Recompile sources extracted from the kernel source rpm by turning on CONFIG_X86_VSMP
2.  Boot resulting kernel on vSMPowered system
3. You should see the following lines in the kernel dmesg:
vSMP CTL: capabilities:0x00001fff  control:0x000001b1
vSMP CTL: control set to:0x000001a1
If you don't, then the vsmp detection is incorrect.

  
Actual results:
The prints described above missing.
Since this code path and prints actually set a 'fast' mode of operation on vSMPowered systems a kernel recompiled with CONFIG_X86_VSMP turned on works in slow mode rather than fast mode resulting in reduced performance.

Expected results:
Prints describe above to appear in dmesg

Additional info:
Here's a patch fixing the issue -- on top of RHEL sources.  This points out bit rot on RHEL unsupported code path.

Comment 1 Prarit Bhargava 2009-08-12 14:27:15 UTC
Created attachment 357179 [details]
RHEL5 fix for this issue

Updated to latest.

P.

Comment 2 RHEL Program Management 2009-09-25 17:35:38 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 5 Chris Ward 2009-10-13 15:24:02 UTC
@Kiran,

We need to confirm that there is commitment to test 
for the resolution of this request during the RHEL 5.5 test
phase, if it is accepted into the release. 

Please post a confirmation before Oct 16th, 2009, 
including the contact information for testing engineers.

Comment 6 Kiran 2009-10-13 16:40:10 UTC
(In reply to comment #5)
> @Kiran,
> 
> We need to confirm that there is commitment to test 
> for the resolution of this request during the RHEL 5.5 test
> phase, if it is accepted into the release. 
> 
> Please post a confirmation before Oct 16th, 2009, 
> including the contact information for testing engineers.  

Yes, we are 100% committed to test and help Redhat in any possible way to resolve this issue.  Josh Hunt <josh> is the designated engineer to test this fix/release.  You can contact me as well.  I can send you phone numbers in private if needed.

Comment 7 Don Zickus 2009-10-21 19:12:34 UTC
in kernel-2.6.18-170.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.

Comment 9 Josh Hunt 2009-10-22 21:45:02 UTC
I have recompiled your kernel source package with CONFIG_X86_VSMP and it resolves the issue.

Here is a dmesg snippet:
<dmesg>
sizeof(buffer_head)=96 bytes
sizeof(skbuff)=248 bytes
migration_cost=97,10082,208756
checking if image is initramfs... it is
Freeing initrd memory: 2478k freed
vSMP CTL: capabilities:0x00001fff  control:0x000001b1
vSMP CTL: control set to:0x000001a1
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: Using configuration type 1
</dmesg>

Thanks!

Comment 11 errata-xmlrpc 2010-03-30 07:45:46 UTC
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


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