Re: BUG: spinlock trylock failure on UP, i.MX28 3.12.15-rt25

Sebastian Andrzej Siewior
2014-04-23T07:14:46Z

On 04/22/2014 08:16 PM, Steven Rostedt wrote:
> --- a/kernel/timer.c
> +++ b/kernel/timer.c
> @@ -1447,6 +1447,12 @@ static void run_timer_softirq(struct softirq_action *h)
> __run_timers(base);
> }
>
> +#ifdef CONFIG_SMP
> +#define timer_should_raise_softirq(lock) !spin_do_trylock(lock)
> +#else
> +#define timer_should_raise_softirq(lock) 1
> +#endif
> +

No. The lock may be taken but it also may be available no matter if UP
or not. With this patch applied the lockdep splat will go away but the
FULL_NO_HZ people will come back because the timer softirq is scheduled
even if no timer has expired.

Sebastian