Messages in this thread | | | Subject | Re: [PATCH 0/2] sparc64: Use low latency path to resume idle cpu | From | Vijay Kumar <> | Date | Thu, 20 Jul 2017 22:36:42 -0500 |
| |
On 7/20/2017 9:55 PM, David Miller wrote: > From: Vijay Kumar <vijay.ac.kumar@oracle.com> > Date: Thu, 20 Jul 2017 21:44:24 -0500 > >> I had same thoughts initially but I had to go with this approach as >> scheduler_ipi is wrapped with irq_enter() and irq_exit(). Whereas POKE >> resumes the cpu in process context. >> >> Comments in scheduler_ipi(): >> >> * Not all reschedule IPI handlers call irq_enter/irq_exit, since >> * traditionally all their work was done from the interrupt return >> * path. Now that we actually do some work, we need to make sure >> * we do call them. >> * >> * Some archs already do call them, luckily irq_enter/exit nest >> * properly. >> * >> * Arguably we should visit all archs and update all handlers, >> * however a fair share of IPIs are still resched only so this would >> * somewhat pessimize the simple resched case. >> */ >> irq_enter(); >> > I still think we should be able to fake the state such that this > direct schedule_ipi() call will work. > > I could be wrong :) I can give a try :). But looks to me one thing that will go wrong is irq accounting done in __irq_enter() and rcu_irq_enter().
Thanks, Vijay
| |