linux/arch/x86
Robert Richter c7c25802b3 arch/x86/oprofile/op_model_amd.c: Perform initialisation on a single CPU
Disable preemption in init_ibs(). The function only checks the
ibs capabilities and sets up pci devices (if necessary). It runs
only on one cpu but operates with the local APIC and some MSRs,
thus it is better to disable preemption.

[    7.034377] BUG: using smp_processor_id() in preemptible [00000000] code: modprobe/483
[    7.034385] caller is setup_APIC_eilvt+0x155/0x180
[    7.034389] Pid: 483, comm: modprobe Not tainted 2.6.37-rc1-20101110+ #1
[    7.034392] Call Trace:
[    7.034400]  [<ffffffff812a2b72>] debug_smp_processor_id+0xd2/0xf0
[    7.034404]  [<ffffffff8101e985>] setup_APIC_eilvt+0x155/0x180
[ ... ]

Addresses https://bugzilla.kernel.org/show_bug.cgi?id=22812

Reported-by: <atswartz@gmail.com>
Signed-off-by: Robert Richter <robert.richter@amd.com>
Cc: oprofile-list@lists.sourceforge.net <oprofile-list@lists.sourceforge.net>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Dan Carpenter <error27@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: <stable@kernel.org>         [2.6.37.x]
LKML-Reference: <20110103111514.GM4739@erda.amd.com>
[ small cleanups ]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2011-01-03 13:01:40 +01:00
..
boot x86-32: Make sure we can map all of lowmem if we need to 2010-12-16 19:11:09 -08:00
configs defconfig reduction 2010-08-14 22:26:53 +02:00
crypto crypto: ghash-intel - ghash-clmulni-intel_glue needs err.h 2010-12-15 19:44:08 +08:00
ia32 BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
include/asm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2010-12-18 10:13:24 -08:00
kernel x86/microcode: Fix double vfree() and remove redundant pointer checks before vfree() 2010-12-27 14:33:30 +01:00
kvm KVM: i8259: initialize isr_ack 2011-01-02 11:52:48 +02:00
lguest lguest: populate initial_page_table 2010-12-16 17:03:15 +10:30
lib x86, mem: Optimize memmove for small size and unaligned cases 2010-09-24 18:57:11 -07:00
math-emu
mm x86: Use online node real index in calulate_tbl_offset() 2010-11-18 10:10:50 +01:00
oprofile arch/x86/oprofile/op_model_amd.c: Perform initialisation on a single CPU 2011-01-03 13:01:40 +01:00
pci x86: avoid low BIOS area when allocating address space 2010-12-17 10:01:17 -08:00
platform x86: UV: Address interrupt/IO port operation conflict 2010-11-18 10:41:25 +01:00
power x86, tsc, sched: Recompute cyc2ns_offset's during resume from sleep states 2010-08-20 14:59:02 +02:00
tools
vdso x86, gcc-4.6: Use gcc -m options when building vdso 2010-12-13 16:08:37 -08:00
video
xen Merge branches 'x86-fixes-for-linus', 'perf-fixes-for-linus' and 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-12-08 06:40:59 -08:00
.gitignore
Kbuild x86: Add platform directory 2010-10-27 14:30:01 +02:00
Kconfig perf, x86: Fixup Kconfig deps 2010-11-26 15:00:58 +01:00
Kconfig.cpu
Kconfig.debug Merge branch 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-10-22 08:54:21 -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-10-21 13:06:00 -07:00
Makefile_32.cpu jump label: Add work around to i386 gcc asm goto bug 2010-10-29 14:45:29 -04:00