diff options
| author | Thomas Gleixner <[email protected]> | 2015-05-07 12:35:59 +0000 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2015-05-07 14:15:50 +0000 |
| commit | 6b442bc81337913eb775965a67ffdb8a36935422 (patch) | |
| tree | c98932b4f91567c23eb77bb6596a0d1fa5207036 /drivers/clocksource/qcom-timer.c | |
| parent | tick: hrtimer-broadcast: Prevent endless restarting when broadcast device is ... (diff) | |
| download | kernel-6b442bc81337913eb775965a67ffdb8a36935422.tar.gz kernel-6b442bc81337913eb775965a67ffdb8a36935422.zip | |
nohz: Fix !HIGH_RES_TIMERS hang
Simon Horman reported this crash on a system with
high-res timers disabled but nohz enabled:
> ------------[ cut here ]------------
> kernel BUG at kernel/irq_work.c:135!
BUG_ON(!irqs_disabled());
So something enabled interrupts in the periodic tick handling machinery,
and that code path indeed has a local_irq_disable()/enable pair in
tick_nohz_switch_to_nohz() which causes havoc. Fix it.
This patch also fixes a +nohz -hrtimers hang reported by Ingo Molnar.
Reported-by: Simon Horman <[email protected]>
Reported-by: Ingo Molnar <[email protected]>
Tested-by: Simon Horman <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: H. Peter Anvin <[email protected]>
Cc: LAK <[email protected]>
Cc: Magnus Damm <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/alpine.DEB.2.11.1505071425520.4225@nanos
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'drivers/clocksource/qcom-timer.c')
0 files changed, 0 insertions, 0 deletions
