On 2017-12-19 10:02:02 [-0500], Steven Rostedt wrote:
> On Tue, 19 Dec 2017 09:27:40 +0100
> Sebastian Andrzej Siewior <[email protected]> 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.

Where does local_irq_disable() imply this?

> -- Steve

Sebastian

Reply via email to