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

From: Thomas Gleixner
Date: Sun Jul 05 2015 - 09:06:54 EST


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




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/