Re: irq_work: WARNING: at kernel/irq_work.c:98 irq_work_needs_cpu+0x8a/0xb0()

From: Sasha Levin
Date: Sun Mar 10 2013 - 14:47:53 EST


On 03/08/2013 05:20 PM, Paul E. McKenney wrote:
> Alternatively, given that this is a debug option, how about replacing
> the schedule_timeout_uninterruptible() with something like the following:
>
> {
> unsigned long starttime = jiffies + 2;
>
> while (ULONG_CMP_LT(jiffies, starttime))
> cpu_relax();
> }
>
> That way the RCU GP kthread would never go to sleep, and thus would not
> have to wait for the timer to wake it up. If this works, then my next
> thought would be to try to get at the timer state for the wakeup fo
> schedule_timeout_uninterruptible().

It did the trick, I still see those IRQ warnings but the RCU lockup
is gone.


Thanks,
Sasha
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/