From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 54034C10DCE for ; Wed, 18 Mar 2020 09:52:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2F87B2076F for ; Wed, 18 Mar 2020 09:52:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727442AbgCRJwu (ORCPT ); Wed, 18 Mar 2020 05:52:50 -0400 Received: from mout.kundenserver.de ([212.227.126.135]:48575 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727420AbgCRJwt (ORCPT ); Wed, 18 Mar 2020 05:52:49 -0400 Received: from mail-qk1-f180.google.com ([209.85.222.180]) by mrelayeu.kundenserver.de (mreue010 [212.227.15.129]) with ESMTPSA (Nemesis) id 1Mzi3l-1jREuU3oCv-00viKa; Wed, 18 Mar 2020 10:52:48 +0100 Received: by mail-qk1-f180.google.com with SMTP id f28so37589856qkk.13; Wed, 18 Mar 2020 02:52:47 -0700 (PDT) X-Gm-Message-State: ANhLgQ1dGpADYjO5CDo9TpC9sNH0OfvqMLmN9P2f3eZ+mfD8mi7hWdNI bpn+08ayNnGJiug5lJv2ZA0tpBSbNr8b47nBN+4= X-Google-Smtp-Source: ADFU+vvPPpkP18ZKfrFNh8gvaXPMHk4SKQCYU0CemL9wvz6IRWOfSh9+2To1NcmRy07HyNQyHflromqOgChlyMVwpd0= X-Received: by 2002:a37:6285:: with SMTP id w127mr3096860qkb.138.1584525166497; Wed, 18 Mar 2020 02:52:46 -0700 (PDT) MIME-Version: 1.0 References: <1584200119-18594-1-git-send-email-mikelley@microsoft.com> <1584200119-18594-6-git-send-email-mikelley@microsoft.com> In-Reply-To: From: Arnd Bergmann Date: Wed, 18 Mar 2020 10:52:30 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v6 05/10] arm64: hyperv: Add interrupt handlers for VMbus and stimer To: Michael Kelley Cc: Will Deacon , Ard Biesheuvel , Catalin Marinas , Mark Rutland , Marc Zyngier , Linux ARM , gregkh , "linux-kernel@vger.kernel.org" , "linux-hyperv@vger.kernel.org" , linux-efi , linux-arch , "olaf@aepfle.de" , Andy Whitcroft , vkuznets , Jason Wang , "marcelo.cerri@canonical.com" , KY Srinivasan , Sunil Muthuswamy , Boqun Feng Content-Type: text/plain; charset="UTF-8" X-Provags-ID: V03:K1:A1KzVya30fjoULLZ+eD2UXAbZC8WJh5Z7ng5J6IZzzlynO993/b 0SSCMhfRnGtznaciJzi8JIOE7iMdMixIrToEs0OdUuSdrfRk8mgBlV5NxB5ez5AhLH9KZDH wVYoyZn65/gHyak53FLg+4+crg7selqHaskTeFcdIZnLxO5nr9ErvULb5OteTqqnTyjIhMc sY2Q2FkvyjWMNOL0UpDew== X-UI-Out-Filterresults: notjunk:1;V03:K0:r+xSzRlN+aE=:RJwZ+to3d1F75tXB2EyKPp d91UC9VbiX4FD5XucXITiDzp/TaSff9veEDX3y3t/Iq51zAZ/r+rMDkUwTow1F1Ru9C2hnaMB KxwnMnKeUKNcZsw9Cfs/nN72U2CKyrVFPwe6FUuRWxMJnwg9kRQhjHphPz95zqox8KHKqJ9Mb aPWqg38MSr7eSdWIABpqX4MwG0gcbIRJV68O1YL8ZW+NbfWTRSsGJ4mrNaK2pKdJ2Qh2V0E6g zfK1L/SWfY5ts1gMMOb+SsSdqa/IzV6Od5ofklw68YMnwXbWKop+VUk+qOmm/X2Uo4GlK0DAX lwWzdmDlaqr3Z6vDF55ON1yhwsyNVHkrb+Jl0PIatqklwFZIJQIYV3KqVThs7sSyDN9SFCbkX GL4me4vL00eRXPwHWPk6gXxH6SubqvNmkDNPKsIqDSkTyU4U1jM748iqShAf/MKkXe1e+SA2z olaTzmWRFrgFX9OeLzc0trrhPrLKfa5rF9xxlfizVvVwZR0ZLfQz7oXaIBDaTaPVgaV4fVcHX nBOYiTX3M0XD1Wtwud+yu8A0EDoECltEKUc3aOCNf8B8VKq9b0WaYcCozJEJmFQ21Yp+PBJgX SFs42AZAD5DMITpP4HNPJ7ds91B6PGgG9MzVEq37JVPD1Glpe9ZjqGzVqAlEifFsV3Tywa0fS Ihbac3lTsmi9vErTky1ejjcbqOdozls9iwXb5/tdZlnC+CTEW4PxtRFDcz90IY+juMwyxLYPx o9LFzJwX2ZboPMW1D3lxQ7GyJWwf6lPhNK2fy998tdpd/+bdII0FFLfu9Fvpd3jstn6wVINuD xANBts00pWzhLYlUCRkujWuaPNkrBSh3F2U2MQdSQv3Zc8NoTU= Sender: linux-hyperv-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-hyperv@vger.kernel.org On Wed, Mar 18, 2020 at 1:16 AM Michael Kelley wrote: > From: Arnd Bergmann > > On Sat, Mar 14, 2020 at 4:36 PM Michael Kelley wrote: > > > > > > Add ARM64-specific code to set up and handle the interrupts > > > generated by Hyper-V for VMbus messages and for stimer expiration. > > > > > > This code is architecture dependent and is mostly driven by > > > architecture independent code in the VMbus driver and the > > > Hyper-V timer clocksource driver. > > > > > > This code is built only when CONFIG_HYPERV is enabled. > > > > > > Signed-off-by: Michael Kelley > > > > This looks like it should be a nested irqchip driver instead, so your > > device drivers can use the normal request_irq() functions etc. > > > > Is anything preventing you from doing that? If so, please describe > > that in the changelog and in a comment in the driver. > > > > As mentioned in my reply on Patch 1, Hyper-V offers a limited synthetic > interrupt controller managed by Linux code that's been around the last > 10 years on the x86 side. For reasons that pre-date me, it was not written > as an irqchip driver. I think the reason is just that 10 years ago, we did not have the concept of irqchips as device drivers. > Modulo the small routines you see in this patch, the code is architecture > independent, and it seems we ought to keep the high degree of commonality. > Re-architecting the arch independent code to model as an irqchip driver seems > to carry some risk to the x86 side that has a lot of real-world usage today, but > I'll take a look and see what the risks look like and if it adds any clarity. How many drivers link against the custom interface? If it's less than 10, making it a real driver is probably not too hard to do. Arnd