From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753271AbdHOQXq (ORCPT ); Tue, 15 Aug 2017 12:23:46 -0400 Received: from mailapp01.imgtec.com ([195.59.15.196]:18605 "EHLO mailapp01.imgtec.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751640AbdHOQXp (ORCPT ); Tue, 15 Aug 2017 12:23:45 -0400 From: Paul Burton To: Marc Zyngier CC: , Wei Xu , James Hogan , Thomas Gleixner , Jason Cooper , Andrew Lunn , Gregory Clement , Sebastian Hesselbarth , Kevin Cernekee , Florian Fainelli , Chris Zankel , "Max Filippov" , Matt Redfearn Subject: Re: [PATCH 11/12] irqchip/mips-gic: Report that effective affinity is a single target Date: Tue, 15 Aug 2017 09:23:38 -0700 Message-ID: <13319270.gRd1cmLsry@np-p-burton> Organization: Imagination Technologies In-Reply-To: <20170815113447.14507-12-marc.zyngier@arm.com> References: <20170815113447.14507-1-marc.zyngier@arm.com> <20170815113447.14507-12-marc.zyngier@arm.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1903255.Q2tgkWQZSs"; micalg=pgp-sha256; protocol="application/pgp-signature" X-Originating-IP: [10.20.1.88] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --nextPart1903255.Q2tgkWQZSs Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Hi Marc, On Tuesday, 15 August 2017 04:34:46 PDT Marc Zyngier wrote: > The MIPS GIC driver only targets a single CPU at a time, even if > the notional affinity is wider. Let's inform the core code > about this. > > Signed-off-by: Marc Zyngier > --- > drivers/irqchip/Kconfig | 1 + > drivers/irqchip/irq-mips-gic.c | 2 ++ > 2 files changed, 3 insertions(+) > > diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig > index 39bfa5b25b54..bca9a88012f0 100644 > --- a/drivers/irqchip/Kconfig > +++ b/drivers/irqchip/Kconfig > @@ -141,6 +141,7 @@ config IRQ_MIPS_CPU > select GENERIC_IRQ_IPI if SYS_SUPPORTS_MULTITHREADING > select IRQ_DOMAIN > select IRQ_DOMAIN_HIERARCHY if GENERIC_IRQ_IPI > + select GENERIC_IRQ_EFFECTIVE_AFF_MASK > > config CLPS711X_IRQCHIP > bool > diff --git a/drivers/irqchip/irq-mips-gic.c b/drivers/irqchip/irq-mips-gic.c > index 6ab1d3afec02..e075cb25fad6 100644 > --- a/drivers/irqchip/irq-mips-gic.c > +++ b/drivers/irqchip/irq-mips-gic.c > @@ -463,6 +463,7 @@ static int gic_set_affinity(struct irq_data *d, const > struct cpumask *cpumask, set_bit(irq, > pcpu_masks[cpumask_first(&tmp)].pcpu_mask); > > cpumask_copy(irq_data_get_affinity_mask(d), cpumask); > + irq_data_update_effective_affinity(d, cpumask); This doesn't seem right - it's just setting the effective affinity to the same as affinity, not taking into account CPU restrictions at all. I think this should be: irq_data_update_effective_affinity(d, cpumask_of(cpumask_first(&tmp))); (or something cleaner but to that effect) Thanks, Paul > spin_unlock_irqrestore(&gic_lock, flags); > > return IRQ_SET_MASK_OK_NOCOPY; > @@ -716,6 +717,7 @@ static int gic_irq_domain_map(struct irq_domain *d, > unsigned int virq, if (err) > return err; > > + irqd_set_single_target(irq_desc_get_irq_data(irq_to_desc(virq))); > return gic_shared_irq_domain_map(d, virq, hwirq, 0); > } --nextPart1903255.Q2tgkWQZSs Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEELIGR03D5+Fg+69wPgiDZ+mk8HGUFAlmTIAoACgkQgiDZ+mk8 HGXNJQ/+Ibtr0KGCAe8tpirsBbvUpLv1IbCJfoIwPGVhjxUM0STEK+jvAJAlHTJ7 NI/TPHVLM7ne/nQZB5cB3pDIFQlKhszEs9nwWPGqEHmCpngVM3TBMLabG1bzdW4l yE6kwQjLUwY80IAz1N1zyIC4ZIP0BJ51s2HYzdNsQTc/d1IswGdcP5IBPSDCAakG u6ApUIwRhv/SOGslS/82LXbCqVQWjBuvw+UKYsrpbAZUK1dyl/VBIVzE3hgrk96p 6RNSjvUxg6vWT4rPVl5u9JuzxtHvkccuv5Hs/h6tzgdHKTi2Prr/dPxwI2A1Tpg8 81+D9YMEKeoJwaZzwu1YcyP0nVD15xOjzEEwcyWHdX45AsQJUPBbJ43kTNZtsj26 xDIjKPC3rjLD+GH3h6sLfy08tWV88eNG19wB3oVILXN4Thgjk53BPZ43wqyBdGt+ xXmbOYEBgfKeD+bOV9/DVyaVLo+KrwD0QXyBkBBguGrrY9tuX/4PNqKc87BEjr63 KGqfyXKUhpKf3b8nelUjUWA6Z8X7c70UMnlxZt2ZtUb+98jIFFk7rEJ5D1ARefE1 LbiByEnN1D8GnWNbhufaXkD0x+/LfC8Wi7ZKRSIMP2+FbnN0oy0g/3EFYXkAvQ3V I+j7+T6Ddoi42eW9XxKa4YixQtbzZ3URNNg1tgJ1OY9inskde+s= =qWC5 -----END PGP SIGNATURE----- --nextPart1903255.Q2tgkWQZSs--