Re: [PATCH 2/2] sched: Add a check for cpu unbound deferrable timers

From: Thomas Gleixner
Date: Mon Mar 16 2020 - 04:38:52 EST


Prasad Sodagudi <psodagud@xxxxxxxxxxxxxx> writes:
> @@ -948,6 +949,11 @@ static void __tick_nohz_idle_stop_tick(struct tick_sched *ts)
> ktime_t expires;
> int cpu = smp_processor_id();
>
> +#ifdef CONFIG_SMP
> + if (check_pending_deferrable_timers(cpu))
> + raise_softirq_irqoff(TIMER_SOFTIRQ);
> +#endif

So if that raises the soft interrupt then the warning in

can_stop_idle_tick()

if (unlikely(local_softirq_pending())) {
....
pr_warn()

will trigger. Try again.

Thanks,

tglx