Messages in this thread | | | Date | Sun, 10 Mar 2013 23:03:56 +0530 | From | Santosh Shilimkar <> | Subject | Re: [PATCH 0/4] time: dynamic irq affinity |
| |
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.shilimkar@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.
| |