Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752343AbbGENGt (ORCPT ); Sun, 5 Jul 2015 09:06:49 -0400 Received: from www.linutronix.de ([62.245.132.108]:51835 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751286AbbGENGa (ORCPT ); Sun, 5 Jul 2015 09:06:30 -0400 Date: Sat, 4 Jul 2015 11:53:57 +0200 (CEST) From: Thomas Gleixner To: Russell King - ARM Linux cc: Jisheng Zhang , jason@lakedaemon.net, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v2 2/2] irqchip: dw-apb-ictl: add irq_set_affinity support In-Reply-To: <20150704082623.GA7557@n2100.arm.linux.org.uk> Message-ID: References: <1435987170-3962-1-git-send-email-jszhang@marvell.com> <1435987170-3962-3-git-send-email-jszhang@marvell.com> <20150704082623.GA7557@n2100.arm.linux.org.uk> User-Agent: Alpine 2.11 (DEB 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1473 Lines: 39 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/