Issue was found on ARM/Qcom platform, but I think it is applicable to other platforms as well. I add a BUG_ON after rcu_enter_idle to catch it. The Qcom's cpuidle driver is not in mainline kernel yet.
On Mon, Nov 23, 2015 at 5:05 AM, Peter Zijlstra <pet...@infradead.org> wrote: > On Sat, Nov 21, 2015 at 01:02:02AM -0800, Lianwei Wang wrote: >> The rcu_idle_endter may call wakeup_softirqd to set the need resched >> flag on idle process. But if we don't check it after that, then the >> cpu will enter idle state with RESCHED flag set and can not be woken >> up by wakeup/resched call anymore. > > Fair enough; but which cpuidle driver did you observe that with? All the > ones I checked test for need_resched again after this. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/