Re: [PATCH] sched: idle: move need_resched check after function rcu_idle_enter

From: Lianwei Wang
Date: Mon Nov 23 2015 - 12:42:30 EST


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 <peterz@xxxxxxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/