Hey Andy, thanks for taking a look. On Fri, Jul 17, 2020 at 8:14 PM Andy Lutomirski <l...@kernel.org> wrote: > > PeterZ and I fixed a whole series of bugs a few years ago, and remote > wakeups *should* already do this. Did we miss something? Did it > regress? Even the call_function_single path ought to go through this: > > void send_call_function_single_ipi(int cpu) > { > struct rq *rq = cpu_rq(cpu); > > if (!set_nr_if_polling(rq->idle)) > arch_send_call_function_single_ipi(cpu); > else > trace_sched_wake_idle_without_ipi(cpu); > } >
Yep, I was sitting on this for a bit and raced with b2a02fc43a there. 90b5363ac also got rid of the last smp_send_reschedule() that was triggering the ipiless handling. One of the nice parts of the patch was that it could blanket apply to all of the smp_call/reschedule. However, with the above patches that isn't a concern; it makes more sense to keep the existing TIF_POLLING_NRFLAG logic.