Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757742AbcC2TkR (ORCPT ); Tue, 29 Mar 2016 15:40:17 -0400 Received: from mout.kundenserver.de ([212.227.17.13]:57203 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752190AbcC2TkP (ORCPT ); Tue, 29 Mar 2016 15:40:15 -0400 From: Arnd Bergmann To: Tim Harvey Cc: Lucas Stach , "linux-arm-kernel@lists.infradead.org" , "linux-pci@vger.kernel.org" , Richard Zhu , linux-kernel , Krzysztof =?utf-8?B?SGHFgmFzYQ==?= , Bjorn Helgaas , Petr =?utf-8?B?xaB0ZXRpYXI=?= , Fabio Estevam Subject: Re: [PATCH] i.MX6 PCIe: Fix imx6_pcie_deassert_core_reset() polarity Date: Tue, 29 Mar 2016 21:39:20 +0200 Message-ID: <3601512.SumN6MaWDe@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: References: <3827347.i8fIQs6jUv@wuerfel> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:a+MHDb70Wdk8uC5V6YHntHc68QCcgCjDMA/2Y2qmZOFQIM353XY 3G6nONxykCbj99V5U/qblf6WGgGyXamtmn0OulvDdmpGuYJyFuZntRBk4Y7niGXmvjy8CB3 6aVrymnTPoqy7KpAJP5Xz+MnohzEFniPLILA3EszXe5xD7TTqeSnH4dmhqDnbKhf1FO8sM7 6TmDNYhOgydtfxWtXcLVw== X-UI-Out-Filterresults: notjunk:1;V01:K0:VUMX1zx/q+o=:OotCKnN1YUbm/7YaHAZYHS t46U9ClSaRoSmMX/eJ6n+wyiLlHjyTdp9sA8muX/C7GTRys5VtuYq+2f2i3SFUkvoHmsTUG20 /2cJt1CASE7RtOCbBYBvPNjCJaz2E3F/ZFyx9Sv8wVXnZyMzeKqpuKUHb8/9otlVRDoUS921M BGHmf1faM6DiXiyQb9xa3z+5yASlluHRUZLnaqd6zk3P+wSFsUyzWE4lgSI2JfXA4d3eiSOBC 5U9FN84f0FMWs9B3AQzAwIAr+MgYqwk4Pv9lSaOIgZDB7hCfYxMLb0FBPd69gpjOiWvfZ0BVW 9IcGA+YmDPkZPEeYrQ0BGHKVph0bWQNJmXZxzvcTYM1QdZUNWgfrLlGJDeuZR8nlbG19NS8vK pr8LuKnSYamomtCSNW7hLVxaQJt45ViIbQlFPi6D4dWLj+KbZjeChVce/16BuVlKRY+uSridq uhJXn7B5blgW6e4d+zW0FycJ3Z5hZu5t4mzuPztGBqHcO0AA8OfsKEo69oafOvVtStk3+gGLW s1kZ494ib2CfRhA7Dhjz7B3nGZoYYUfPtY8mDMUBdgtEjvKJymRIETjj5w0WVqOLkxEd30e7Q ihR1HGAYi0m7OiKQNGBDBXpkvQGtsVS3idp4A0GKmhdX0orI4+W3/qmor+6ySsuB1lV13N5Dz Rx7gIJnXl3FXvMI5d5NSN2kgXg8Tw1KXlcQSNA7gXDmaLWZ/dCPwwsSPbmSSZqXMJ/WS+ixrv 9wbb/Yg0NdoJyg3z Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2029 Lines: 43 On Tuesday 29 March 2016 10:38:16 Tim Harvey wrote: > On Tue, Mar 29, 2016 at 8:24 AM, Arnd Bergmann wrote: > > On Tuesday 29 March 2016 08:10:08 Tim Harvey wrote: > >> Arnd, > >> > >> Right, on the IMX the MSI interrupt is GIC-120 which is also the > >> legacy INTD and I do see that if I happen to put a radio in a slot > >> where due to swizzling its pin1 becomes INTD (GIC-120) the interrupt > >> does fire and the device works. Any other slot using GIC-123 (INTA), > >> GIC-122 (INTB), or GIC-121 (INTC) never fires so its very possible > >> that something in the designware core is masking out the legacy irqs. > > > > Interesting. I was actually expecting the opposite here, having the > > IRQs only work if they are not IntD. > > > > > >> I typically advise our users to 'not' enable MSI because > >> architecturally you can spread 4 distinct legacy irq's across CPU's > >> better than a single shared irq. > > > > That is a very good point, I never understood why we want to enable > > MSI support on any PCI host bridge that just forwards all MSIs > > to a single IRQ line. Originally MSI was meant as a performance > > feature, but there is nothing in this setup that makes things go > > faster, and several things that make it go slower. > > I had a conversation once with Lucas about implementing the shared MSI > interrupt in such a way that its smp affinity could be set to other > CPU's to gain a performance benefit in certain multi-device cases. > > While this is technically possible it would involve creating a softirq > glue between the different handlers but that would add overhead of a > softirq plus potentially waking up another CPU to every IRQ which > would end up adding some overhead to even the simple single-device > case. > > Without any hard data it wasn't clear if this was worth it or if there > was a clean way to provide this as build-time or run-time option. I think it's pretty clear that this would take things from 'somewhat silly' to 'completely bonkers' ;-) Arnd