On Wednesday 27 February 2013 03:47 AM, Daniel Lezcano wrote: > When a cpu goes to a deep idle state where its local timer is shutdown, > it notifies the time framework to use the broadcast timer instead. > > Unfortunately, the broadcast device could wake up any CPU, including an > idle one which is not concerned by the wake up at all. > > This implies, in the worst case, an idle CPU will wake up to send an IPI > to another idle cpu. > > This patch solves this by setting the irq affinity to the cpu concerned > by the nearest timer event, by this way, the CPU which is wake up is > guarantee to be the one concerned by the next event and we are safe with > unnecessary wakeup for another idle CPU. > > As the irq affinity is not supported by all the archs, a flag is needed > to specify which clocksource can handle it. > > Daniel Lezcano (3): > time : pass broadcast parameter > time : set broadcast irq affinity > ARM: nomadik: add dynamic irq flag to the timer > > Viresh Kumar (1): > ARM: timer-sp: Set dynamic irq affinity > Thanks Daniel for addressing the comments from earlier version. This version looks good to me.
Reviewed-by: Santosh Shilimkar <santosh.shilim...@ti.com> Regards, Santosh P.S: As I mentioned 'CLOCK_EVT_FEAT_DYNIRQ' optimization on OMAP at least I found risky because you might end up missing the asynchronous IPI wakeups because of the current SGI's implementation. This must be true for other ARM platforms as well. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/