On 2015/11/4 23:14, Thomas Gleixner wrote: > On Wed, 4 Nov 2015, Keith Busch wrote: > >> 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? > > Hmm, seems I missed that part. But that's a fixable problem. Jiang? Hi Keith, Could you please try the attached patch? Thanks! Gerry > > Thanks, > > tglx > > -- > 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/ >