Re: [PATCH 0/2] sparc64: Use low latency path to resume idle cpu

From: David Miller
Date: Thu Jul 20 2017 - 22:55:32 EST


From: Vijay Kumar <vijay.ac.kumar@xxxxxxxxxx>
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 :)