Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965544AbbKDOtJ (ORCPT ); Wed, 4 Nov 2015 09:49:09 -0500 Received: from mga03.intel.com ([134.134.136.65]:31058 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932356AbbKDOtH (ORCPT ); Wed, 4 Nov 2015 09:49:07 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,243,1444719600"; d="scan'208";a="842445205" Date: Wed, 4 Nov 2015 14:49:05 +0000 From: Keith Busch To: Thomas Gleixner Cc: LKML , x86@kernel.org, linux-pci@vger.kernel.org, Jiang Liu , Dan Williams , Bjorn Helgaas , Bryan Veal , Ingo Molnar , "H. Peter Anvin" , Martin Mares , Jon Derrick , Peter Zijlstra Subject: Re: [RFC PATCHv3 3/4] x86/pci: Initial commit for new VMD device driver Message-ID: <20151104144905.GI13904@localhost.localdomain> References: <1445967247-24310-1-git-send-email-keith.busch@intel.com> <1445967247-24310-4-git-send-email-keith.busch@intel.com> <20151103001552.GE13904@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1369 Lines: 33 On Tue, Nov 03, 2015 at 12:42:02PM +0100, Thomas Gleixner wrote: > On Tue, 3 Nov 2015, Keith Busch wrote: > > > > + msi_irqdomain = pci_msi_create_irq_domain(NULL, &pci_chained_msi_domain_info, > > > > + vmd_irqdomain); > > But that parent limitation does not matter simply because your > msi_irqdomain does not follow down the hierarchy in the allocation > path. > > So we can avoid the vmd_irqdomain creation completely. It's just > wasting memory and has no value at all. Creating the msi domain with a > NULL parent is possible. I'm having trouble following the hierarchy and didn't understand the connection between the parent and msi comain. It's still new to me, but I don't think a NULL parent is allowable with msi domains: pci_msi_setup_msi_irqs() pci_msi_domain_alloc_irqs() msi_domain_alloc_irqs() __irq_domain_alloc_irqs() irq_domain_alloc_irqs_recursive() msi_domain_alloc() irq_domain_alloc_irqs_parent() The last call returns -ENOSYS since there parent is NULL. Was the intension to allow no parent, or do I still need to allocate one to achieve the desired chaining? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/