x86, mce: percpu mcheck_timer should be pinned
authorHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Wed, 24 Jun 2009 00:21:10 +0000 (09:21 +0900)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 25 Jun 2009 20:33:02 +0000 (13:33 -0700)
commit5be6066a7f8d917db347d94f1b359b9b70dcb572
treee7e198b67bae27ca165fa37b039fdd9d21557711
parent5211a242d0cbdded372aee59da18f80552b0a80a
x86, mce: percpu mcheck_timer should be pinned

If CONFIG_NO_HZ + CONFIG_SMP, timer added via add_timer() might
be migrated on other cpu.  Use add_timer_on() instead.

Avoids the following failure:

Maciej Rutecki wrote:
> > After normal boot I try:
> >
> > echo 1 > /sys/devices/system/machinecheck/machinecheck0/check_interval
> >
> > I found this in dmesg:
> >
> > [  141.704025] ------------[ cut here ]------------
> > [  141.704039] WARNING: at arch/x86/kernel/cpu/mcheck/mce.c:1102
> > mcheck_timer+0xf5/0x100()

Reported-by: Maciej Rutecki <maciej.rutecki@gmail.com>
Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Tested-by: Maciej Rutecki <maciej.rutecki@gmail.com>
Acked-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/kernel/cpu/mcheck/mce.c