On Mon, Nov 23, 2015 at 9:57 AM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > On Mon, Nov 23, 2015 at 09:42:06AM -0800, Lianwei Wang wrote: >> 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. > > > A: Because it messes up the order in which people normally read text. > Q: Why is top-posting such a bad thing? > A: Top-posting. > Q: What is the most annoying thing in e-mail? > > > And I suspect that your qualcom thing doesn't have TIF_POLLING_NRFLAG > either, which would introduce another need_resched() test after the > rcu_enter_idle() call. Sorry for the top posting and thank you for pointing it out. I check the idle code again and realize that both the default_idle_call and call_cpuidle will test TIF_NEED_RESCHED flag again after rcu_enter_idle call by calling current_clr_polling_and_test. So no issue on mainline kernel now.