linux/arch/x86/kernel/cpu
Andreas Herrmann e3137a7421 x86, amd: Fix panic on AMD CPU family 0x15
[The mainline kernel doesn't have this problem. Commit "(23588c3) x86,
amd: Add support for CPUID topology extension of AMD CPUs" removed the
family check. But 2.6.32.y needs to be fixed.]

This CPU family check is not required -- existence of the NodeId MSR
is indicated by a CPUID feature flag which is already checked in
amd_fixup_dcm() -- and it needlessly prevents amd_fixup_dcm() to be
called for newer AMD CPUs.

In worst case this can lead to a panic in the scheduler code for AMD
family 0x15 multi-node AMD CPUs. I just have a picture of VGA console
output so I can't copy-and-paste it herein, but the call stack of such
a panic looked like:

  do_divide_error
  ...
  find_busiest_group
  run_rebalance_domains
  ...
  apic_timer_interrupt
  ...
  cpu_idle

The mainline kernel doesn't have this problem. Commit "(23588c3) x86,
amd: Add support for CPUID topology extension of AMD CPUs" removed the
family check. But 2.6.32.y needs to be fixed.

Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-07 13:58:32 -08:00
..
cpufreq acpi-cpufreq: fix a memleak when unloading driver 2010-12-09 13:33:12 -08:00
mcheck x86, AMD, MCE thresholding: Fix the MCi_MISCj iteration order 2010-10-11 11:04:36 +02:00
mtrr x86, mtrr: Assume SYS_CFG[Tom2ForceMemTypeWB] exists on all future AMD CPUs 2010-11-22 11:03:04 -08:00
.gitignore
amd.c x86, amd: Fix panic on AMD CPU family 0x15 2011-01-07 13:58:32 -08:00
bugs_64.c x86/cpu: Clean up various files a bit 2009-07-11 11:24:09 +02:00
bugs.c x86: Avoid check hlt for newer cpus 2010-05-07 15:31:17 -07:00
centaur.c x86, cpu: mv display_cacheinfo -> cpu_detect_cache_sizes 2009-11-23 11:59:53 -08:00
common.c x86, cpu: After uncapping CPUID, re-run CPU feature detection 2010-09-28 16:33:14 -07:00
cpu.h x86, cpu: After uncapping CPUID, re-run CPU feature detection 2010-09-28 16:33:14 -07:00
cyrix.c x86, cpu: mv display_cacheinfo -> cpu_detect_cache_sizes 2009-11-23 11:59:53 -08:00
hypervisor.c Introduce CONFIG_XEN_PVHVM compile option 2010-07-29 11:11:33 -07:00
intel_cacheinfo.c x86, cacheinfo: Carve out L3 cache slot accessors 2010-06-09 15:57:41 -07:00
intel.c x86, cpu: After uncapping CPUID, re-run CPU feature detection 2010-09-28 16:33:14 -07:00
Makefile Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-08-06 10:07:34 -07:00
mkcapflags.pl
mshyperv.c x86: Export the symbol ms_hyperv 2010-07-08 14:12:03 -07:00
perf_event_amd.c perf_events: Fix bogus AMD64 generic TLB events 2010-11-22 11:03:00 -08:00
perf_event_intel_ds.c perf, x86: Improve the PEBS ABI 2010-05-07 11:31:02 +02:00
perf_event_intel_lbr.c perf, x86: Clean up debugctlmsr bit definitions 2010-03-26 09:41:03 +01:00
perf_event_intel.c perf, x86: Fix handle_irq return values 2010-09-03 08:05:18 +02:00
perf_event_p4.c perf, x86: Handle in flight NMIs on P4 platform 2010-09-30 09:17:59 +02:00
perf_event_p6.c perf, x86: Fix __initconst vs const 2010-04-02 19:52:05 +02:00
perf_event.c perf, x86: Catch spurious interrupts after disabling counters 2010-09-24 12:21:41 +02:00
perfctr-watchdog.c perf, x86: rename macro in ARCH_PERFMON_EVENTSEL_ENABLE 2010-03-01 14:21:23 +01:00
powerflags.c
proc.c Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-14 07:57:32 -07:00
scattered.c x86/hwmon: fix initialization of coretemp 2010-09-24 11:44:19 -07:00
sched.c sched: x86: Name old_perf in a unique way 2009-09-16 11:21:07 +02:00
topology.c x86, cpu: Split addon_cpuid_features.c 2010-07-19 19:02:41 -07:00
transmeta.c x86, cpu: mv display_cacheinfo -> cpu_detect_cache_sizes 2009-11-23 11:59:53 -08:00
umc.c x86: move various CPU initialization objects into .cpuinit.rodata 2009-03-12 13:13:07 +01:00
vmware.c x86, vmware: Preset lpj values when on VMware. 2010-08-02 17:16:30 -07:00