[PATCH v2 2/2] irqchip: dw-apb-ictl: add irq_set_affinity support

Thomas Gleixner tglx at linutronix.de
Sat Jul 4 02:53:57 PDT 2015


On Sat, 4 Jul 2015, Russell King - ARM Linux wrote:

> On Sat, Jul 04, 2015 at 01:19:30PM +0800, Jisheng Zhang wrote:
> > On Marvell Berlin SoCs, the cpu's local timer is shutdown when the cpu
> > goes to a deep idle state, then the timer framework will be notified to
> > use a broadcast timer instead. The broadcast timer uses dw-apb-ictl as
> > interrupt chip, this patch adds irq_set_affinity support so that the
> > going to deep idle state cpu can set the interrupt affinity of the
> > broadcast interrupt to avoid unnecessary wakeups and IPIs.
> 
> NAK to this patch.
> 
> The real question is - if CPU0 is the CPU going offline, why is it
> still receiving _any_ interrupts - all interrupts should be migrated
> off it, including the chained interrupts.
> 
> Sounds like there's a bug in the migration code which needs further
> investigation, rather than hacking around the problem by introducing
> lots of driver code.

I think you misunderstood the changelog, which is horrible btw.

So the real reason to do this is to steer the broadcast interrupt to
the CPU which has the earliest expiry time. This avoids that another
cpu is woken from idle just to deliver the broadcast IPI to the other
cpu.

Thanks,

	tglx







More information about the linux-arm-kernel mailing list