clocksource: Resolve cpu hotplug dead lock with TSC unstable, fix crash
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 11 Sep 2009 13:33:05 +0000 (15:33 +0200)
committerIngo Molnar <mingo@elte.hu>
Fri, 11 Sep 2009 18:17:18 +0000 (20:17 +0200)
commitf79e0258ea1f04d63db499479b5fb855dff6dbc5
tree66edb089e5c3aee03e1326d41e47d7e14c21e76b
parente500011ffa191d662ac64d4ada6a5187b3180e16
clocksource: Resolve cpu hotplug dead lock with TSC unstable, fix crash

The watchdog timer is started after the watchdog clocksource
and at least one watched clocksource have been registered. The
clocksource work element watchdog_work is initialized just
before the clocksource timer is started. This is too late for
the clocksource_mark_unstable call from native_cpu_up. To fix
this use a static initializer for watchdog_work.

This resolves a boot crash reported by multiple people.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Cc: John Stultz <johnstul@us.ibm.com>
LKML-Reference: <20090911153305.3fe9a361@skybase>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/time/clocksource.c