Description of problem: The patch for multi-core/multi-thread detection (BZ 164470) had a kabi violation. This was caught in the RHEL3 version but had already been accepted into RHEL4. I realized this later, and worked with Intel folks to port and test a patch. This new patch for RHEL4 is very similar to the RHEL3 version. It removes the six added lines from cpuinfo_ia64 and puts them in a new per_cpu structure cpuinfo_ia64_topology. Though it's unfortunately 63 lines of change, it's pretty straightforward to see that it is safe. Most of the code is renaming to use the new structure. Note that the check_for_new_socket and identify_siblings functions were newly created with the original patch. This patch applies against the -29 kernel. I've built and tested it on the Montecito platform where the multi-core data still shows up correctly in /proc/cpuinfo. The patch only touches ia64 arch code. Anil has shown that various in-kernel modules refer to the per_cpu__cpu_info object that cpuinfo_ia64. The fear is that external modules could do the same. Version-Release number of selected component (if applicable): 2.6.9-29.EL
Created attachment 124340 [details] patch reversing kabi breakage
following is the list of in tree modules using this exported symbol. cat /proc/kallsyms |grep per_cpu_cpu_info > ffffffffffff0028 U per_cpu__cpu_info [lp] > ffffffffffff0028 U per_cpu__cpu_info [parport] > ffffffffffff0028 U per_cpu__cpu_info [yenta_socket] > ffffffffffff0028 U per_cpu__cpu_info [pcmcia_core] > ffffffffffff0028 U per_cpu__cpu_info [uhci_hcd] > ffffffffffff0028 U per_cpu__cpu_info [ehci_hcd] > ffffffffffff0028 U per_cpu__cpu_info [e1000] > ffffffffffff0028 U per_cpu__cpu_info [mptscsi] > ffffffffffff0028 U per_cpu__cpu_info [mptbase] > ffffffffffff0028 U per_cpu__cpu_info [scsi_mod >
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 the 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-2006-0132.html