From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH v4 05/17] xen/arm: ITS: implement hw_irq_controller for LPIs Date: Mon, 20 Jul 2015 13:22:53 +0100 Message-ID: <1437394973.12274.8.camel@citrix.com> References: <1436514172-3263-1-git-send-email-vijay.kilari@gmail.com> <1436514172-3263-6-git-send-email-vijay.kilari@gmail.com> <55A42B1C.2030600@citrix.com> <55A61940.9010408@citrix.com> <1436952729.11153.28.camel@citrix.com> <55AA26C4.9030106@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <55AA26C4.9030106@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Julien Grall Cc: Vijay Kilari , Stefano Stabellini , Prasun Kapoor , Vijaya Kumar K , Tim Deegan , "xen-devel@lists.xen.org" , Stefano Stabellini , manish.jaggi@caviumnetworks.com List-Id: xen-devel@lists.xenproject.org On Sat, 2015-07-18 at 11:13 +0100, Julien Grall wrote: > Hi Ian, > > On 15/07/2015 10:32, Ian Campbell wrote: > >> and save 2 byte if not more with the alignment per irq_desc. > > > > If this is a concern then I would say we would either want a separate > > array of per-pLPI information which we do not want in irq_desc because > > it is irq specific, or do add a pointer to its_desc which points to an > > array of per-event information. > > I noticed that we have a field msi_desc in the structure irq_desc. On > ARM, the structure msi_desc is not defined at all but still waste a 8 > byte for the pointer in the irq_desc. > > Given that LPI is an MSI, I'm wondering if we could move all LPI related > data in this msi_desc. This would avoid to introduce new field in the > irq_desc structure. Yes, I think I suggested something similar at some point, although I seemed to think msi_desc was more similar to its_device. Looking at the content of the struct, alloc_msi_entry and msi_capability_init makes me less sure, it looks like msi_entry on x86 is allocated as an array (sized for events) stored per device, which doesn't directly map onto how ARM is structured. So I think you suggestion may make more sense. > > The msi_desc would look like: > > struct msi_desc > { > its_device *dev; > unsigned int eventID; > }; > > Regards, >