Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 297670 Details for
Bug 430947
[RHEL5 U2] Kernel reports BUG: soft lockup - CPU#1 stuck for 16s! [scsi_eh_1:526] during boot
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
RHEL5 version 4 fix
linux-2.6.18-powernow-blacklist-bad-acpi-tables2.patch (text/plain), 3.84 KB, created by
Chris Lalancette
on 2008-03-11 20:16:57 UTC
(
hide
)
Description:
RHEL5 version 4 fix
Filename:
MIME Type:
Creator:
Chris Lalancette
Created:
2008-03-11 20:16:57 UTC
Size:
3.84 KB
patch
obsolete
>--- linux-2.6.18.noarch/arch/i386/kernel/cpu/cpufreq/powernow-k8.c.orig >+++ linux-2.6.18.noarch/arch/i386/kernel/cpu/cpufreq/powernow-k8.c >@@ -33,6 +33,7 @@ > #include <linux/string.h> > #include <linux/cpumask.h> > #include <linux/sched.h> /* for current / set_cpus_allowed() */ >+#include <linux/dmi.h> > > #include <asm/msr.h> > #include <asm/io.h> >@@ -57,6 +58,13 @@ static struct powernow_k8_data *powernow > static int *req_state = NULL; > static int tscsync = 0; > >+/* preregister_acpi_perf can have 3 values: >+ 0 = NEVER call preregister_acpi_preregister_performance >+ 1 = call unless overridden by code check in powernowk8_init >+ 2 = ALWAYS call preregister_acpi_preregister_performance >+ */ >+static int preregister_acpi_perf = 1; >+ > static int cpu_family = CPU_OPTERON; > > #ifndef CONFIG_SMP >@@ -777,9 +785,9 @@ static void powernow_k8_acpi_pst_values( > static struct acpi_processor_performance *acpi_perf_data[NR_CPUS]; > static int preregister_valid = 0; > >-static int powernow_k8_cpu_preinit_acpi() >+static int powernow_k8_cpu_preinit_acpi(void) > { >- int i; >+ int i; > struct acpi_processor_performance *data; > for_each_possible_cpu(i) { > data = kzalloc(sizeof(struct acpi_processor_performance), >@@ -790,15 +798,20 @@ static int powernow_k8_cpu_preinit_acpi( > kfree(acpi_perf_data[j]); > acpi_perf_data[j] = NULL; > } >- return -ENODEV; >+ return -ENOMEM; > } > acpi_perf_data[i] = data; > } > >- if (acpi_processor_preregister_performance(acpi_perf_data)) >- return -ENODEV; >- else >- preregister_valid = 1; >+ if (preregister_acpi_perf != 0) { >+ if (acpi_processor_preregister_performance(acpi_perf_data)) >+ return -ENODEV; >+ else >+ preregister_valid = 1; >+ } else { >+ printk(KERN_INFO "powernow-k8: Disabling ACPI " >+ "pre-initialization.\n"); >+ } > return 0; > } > >@@ -1408,6 +1421,42 @@ static int __cpuinit powernowk8_init(voi > supported_cpus++; > } > >+#ifdef CONFIG_XEN >+ if (!is_initial_xendomain()) { >+ /* Xen PV domU's can't possibly do powersaving; bail */ >+ return -EPERM; >+ } >+#endif >+ >+ /* AMD provides AGESA library modules for use in their BIOS. The >+ default AGESA code creates the _PSD with the assumption the APICs >+ are numbered per the BKDG HOWEVER, there is a callback >+ (ibvPSDApicIDtoNode) to set the APIC ID to node translation for _PSD >+ dependency domains if the system numbers the APICs differently. >+ >+ It looks like HP did not follow spec on both fronts (it numbered >+ differently from the BKDG as well as did not implement the callback >+ to set the domains properly). >+ >+ AMD reports that HP is the only vendor to implement CPU enumeration >+ this way. */ >+ if (preregister_acpi_perf == 1 && cpu_family == CPU_OPTERON) { >+ char * dmi_data = dmi_get_system_info(DMI_BIOS_VENDOR); >+ if (!strncmp(dmi_data, "Hewlett-Packard", 15)) { >+#ifdef CONFIG_XEN >+ /* Disable cpufreq for HP AMD Opteron systems */ >+ printk("%s: This BIOS is %s .... disabling cpufreq " >+ "support", __FUNCTION__, dmi_data); >+ return -EPERM; >+#else >+ /* Disable preregistering ACPI data for HP AMD Opteron >+ systems */ >+ preregister_acpi_perf = 0; >+#endif >+ } >+ } >+ >+ > #ifndef CONFIG_SMP > tscsync = 0; > #endif >@@ -1423,7 +1472,9 @@ static int __cpuinit powernowk8_init(voi > for(i=0; i < num_possible_cpus(); i++) > req_state[i] = 99; > } >- powernow_k8_cpu_preinit_acpi(); >+ if (powernow_k8_cpu_preinit_acpi()) >+ printk(KERN_ERR PFX "Pre-initialization of ACPI failed" >+ "\n"); > #ifdef CONFIG_SMP > printk(KERN_INFO PFX "Found %d %s " > "processors (%d cpu cores) (" VERSION ")\n", >@@ -1460,3 +1511,6 @@ module_exit(powernowk8_exit); > > module_param(tscsync, int, 0); > MODULE_PARM_DESC(tscsync, "enable tsc by synchronizing powernow-k8 changes"); >+module_param(preregister_acpi_perf, int, 0); >+MODULE_PARM_DESC(preregister_acpi_perf, "allow preregistering of performance" >+ " related ACPI data");
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 430947
:
294378
|
294398
|
295438
|
296644
| 297670