Re: [v4.14-rt][report] arm: run: stress-ng --class os --all 0 -t 5m

From: Steven Rostedt
Date: Tue Dec 19 2017 - 10:02:18 EST


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