Messages in this thread | | | Subject | Re: [PATCH] Extend mwait idle to optimize away CAL and RES interrupts to an idle CPU -v1 | From | Peter Zijlstra <> | Date | Mon, 27 Feb 2012 09:45:54 +0100 |
| |
On Thu, 2012-02-23 at 11:34 -0800, Venki Pallipadi wrote:
> > > + local_bh_disable(); > > > + local_irq_disable(); > > > > That local_bh_disable() is completely superfluous, disabling IRQs > > already kills bh. > > The reason for local_bh_disable/enable was to check for potential > softirqs after these interrupt.
Why is that needed? We never wrap local_irq_disable() in bh muck?
> > Why doesn't ipiless_idle_exit() call this? That would keep it isolated > > to just those idle routines that actually use mwait instead of bothering > > the generic idle paths with this. > > ipiless_idle_exit is called in the inner most part of idle entry exit. > In mwait case we may not even have interrupts enabled at that time and > there is code that does idle residency timing etc which will get > impacted if we start doing the pending ipi work there. Doing it at > higher level along with things like enter-exit tickless felt nicer.
But but but, an actual interrupt can be handled before the instruction after mwait, so why would this be a problem?
| |