On Tue, 19 Dec 2017 09:27:40 +0100 Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> wrote: > diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c > index c2c344fda487..3971fa0c7194 100644 > --- a/kernel/time/hrtimer.c > +++ b/kernel/time/hrtimer.c > @@ -1952,6 +1952,7 @@ int hrtimers_dead_cpu(unsigned int scpu) > BUG_ON(cpu_online(scpu)); > tick_cancel_sched_timer(scpu); > > + local_bh_disable(); > local_irq_disable(); > old_base = &per_cpu(hrtimer_bases, scpu); > new_base = this_cpu_ptr(&hrtimer_bases); > @@ -1979,6 +1980,7 @@ int hrtimers_dead_cpu(unsigned int scpu) > /* Check, if we got expired work to do */ > __hrtimer_peek_ahead_timers(); > local_irq_enable(); > + local_bh_enable(); > return 0; > } The above just seems wrong. local_irq_disable() should imply local_bh_disable(), as it doesn't let softirqs run either. -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html