sched/x86/smp: Do not enable IRQs over calibrate_delay()
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Mon, 26 Mar 2012 11:16:15 +0000 (13:16 +0200)
committerIngo Molnar <mingo@kernel.org>
Tue, 27 Mar 2012 12:50:10 +0000 (14:50 +0200)
commitbc758133ed73d4b06952bec21da23e28e62bf3ba
treec7d2a8cec16533e7d3b3896f9fdc7c0350b8a041
parent6c16a6dcb05e51ace340ff7bc6dbe647f1593528
sched/x86/smp: Do not enable IRQs over calibrate_delay()

We should not ever enable IRQs until we're fully set up. This opens up
a window where interrupts can hit the cpu and interrupts can do
wakeups, wakeups need state that isn't set-up yet, in particular this
cpu isn't elegible to run tasks, so if any cpu-affine task that got
created in CPU_UP_PREPARE manages to get a wakeup, its affinity mask
will get broken and we'll run into lots of 'interesting' problems.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/n/tip-yaezmlbriluh166tfkgni22m@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/smpboot.c