Message ID | 20210104152058.36642-1-frederic@kernel.org |
---|---|
Headers | show |
Series | sched/idle: Fix missing need_resched() checks after rcu_idle_enter() v2 | expand |
Hi Frederic, On Mon, Jan 4, 2021 at 12:21 PM Frederic Weisbecker <frederic@kernel.org> wrote: > > Entering RCU idle mode may cause a deferred wake up of an RCU NOCB_GP > kthread (rcuog) to be serviced. > > Usually a wake up happening while running the idle task is spotted in > one of the need_resched() checks carefully placed within the idle loop > that can break to the scheduler. > > Unfortunately imx6q_enter_wait() is beyond the last generic > need_resched() check and it performs a wfi right away after the call to > rcu_idle_enter(). We may halt the CPU with a resched request unhandled, > leaving the task hanging. > > Fix this with performing a last minute need_resched() check after > calling rcu_idle_enter(). Shouldn't tif_need_resched() be used instead of need_resched() in the commit log?