From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH for-4.5 7/8] xen/irq: Handle multiple action per IRQ Date: Tue, 11 Mar 2014 15:16:37 +0000 Message-ID: <531F28D5.1000901@linaro.org> References: <1390581822-32624-1-git-send-email-julien.grall@linaro.org> <1390581822-32624-8-git-send-email-julien.grall@linaro.org> <1392810905.29739.19.camel@kazak.uk.xensource.com> <530673BD.9010301@linaro.org> <530B5275.7010008@citrix.com> <530B6606020000780011ED39@nat28.tlf.novell.com> <530B5BAC.2010100@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1WNOQ5-0004Ho-No for xen-devel@lists.xenproject.org; Tue, 11 Mar 2014 15:16:41 +0000 Received: by mail-we0-f170.google.com with SMTP id w61so10283553wes.15 for ; Tue, 11 Mar 2014 08:16:39 -0700 (PDT) In-Reply-To: <530B5BAC.2010100@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich Cc: Keir Fraser , Ian Campbell , patches@linaro.org, tim@xen.org, stefano.stabellini@citrix.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org Hello Jan, On 02/24/2014 02:48 PM, Julien Grall wrote: > On 02/24/2014 02:32 PM, Jan Beulich wrote: >>>>> On 24.02.14 at 15:08, Julien Grall wrote: >>> (Adding Jan for x86 part). >>> >>> On 02/20/2014 09:29 PM, Julien Grall wrote: >>>> Hi Ian, >>>> >>>> On 02/19/2014 11:55 AM, Ian Campbell wrote: >>>>> On Fri, 2014-01-24 at 16:43 +0000, Julien Grall wrote: >>>>>> On ARM, it may happen (eg ARM SMMU) to setup multiple handler for the same >>>>>> interrupt. >>>>> >>>>> Mention here that you are therefore creating a linked list of actions >>>>> for each interrupt. >>>>> >>>>> If you use xen/list.h for this then you get a load of helpers and >>>>> iterators which would save you open coding them. >>>> >>>> After thinking, using xen/list.h won't really remove open code, except >>>> removing "action_ptr" in release_dt_irq. >>>> >>>> Calling release_dt_irq to an IRQ with multiple action shouldn't be >>>> called often. Therefore, having both prev and next is a waste of space. >>> >>> Jan, as it's common code, do you have any thoughts? >> >> In fact I'm not convinced this action chaining is correct in the first >> place, as mentioned by Ian too (considering the potential sharing >> between hypervisor and guest). Furthermore, if this is really just >> about IOMMU handlers, why can't the SMMU code register a single >> action and disambiguate by the dev_id argument passed to the >> handler? > > The patch #3 of this serie protects the IRQ to be shared with the domain. > > I should have remove "eg ARM SMMU" in the description. ARM SMMU is not > the only the case, we don't know in advance if the IRQ will be shared > (except browsing the DT and checking if this IRQ was used by another > devices...). We may have the same thing with other devices. > > The logic is painful to handle internally in ARM SMMU driver while we > can handle it generically. No need to duplicate the code when a new > driver will have the same problem. > I haven't heard any answer from you. Shall I take as a "go"? Regards, -- Julien Grall