Re: [GIT PULL] s390 patches for the 3.9-rc6

From: Grant Likely
Date: Tue Jun 25 2013 - 10:18:46 EST


On Tue, Jun 25, 2013 at 3:12 PM, Martin Schwidefsky
<schwidefsky@xxxxxxxxxx> wrote:
> On Tue, 25 Jun 2013 14:30:20 +0100
> Grant Likely <grant.likely@xxxxxxxxxxxx> wrote:
>
>> On Tue, Jun 25, 2013 at 2:11 PM, Martin Schwidefsky
>> <schwidefsky@xxxxxxxxxx> wrote:
>> > On Tue, 25 Jun 2013 13:42:23 +0100
>> > Grant Likely <grant.likely@xxxxxxxxxxxx> wrote:
>> >
>> >> On Tue, Jun 25, 2013 at 1:15 PM, Martin Schwidefsky
>> >> <schwidefsky@xxxxxxxxxx> wrote:
>> >> > On Tue, 25 Jun 2013 13:09:51 +0100
>> >> > Grant Likely <grant.likely@xxxxxxxxxxxx> wrote:
>> >> >
>> >> >> On Wed, Apr 3, 2013 at 4:25 PM, Martin Schwidefsky
>> >> >> <schwidefsky@xxxxxxxxxx> wrote:
>> >> >> > Hi Linus,
>> >> >> >
>> >> >> > please pull from the 'for-linus' branch of
>> >> >> >
>> >> >> > git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git for-linus
>> >> >> >
>> >> >> > to receive the following updates: Just a bunch of bugfixes.
>> >> >> >
>> >> >> > Heiko Carstens (4):
>> >> >> > drivers/Kconfig: add several missing GENERIC_HARDIRQS dependencies
>> >> >>
>> >> >> Is anyone currently working on fixing this? s390 is the only
>> >> >> architecture left that does not enable GENERIC_HARDIRQS. It's painful
>> >> >> to keep adding dependencies on GENERIC_HARDIRQS to driver configs.
>> >> >
>> >> > I am working on it. The hardest part is MSI irqs for PCI. Chances are
>> >> > that I get it done for the merge window of 3.12.
>> >>
>> >> How are you handling the MSIs? I've just been looking at some code for
>> >> irq_domain to handle MSI mapping. What's the part that is getting you
>> >> hung up?
>> >
>> > Basically a name-space thing. The current code allocates 64 interrupts numbers
>> > for each PCI device, starting at 0. With GENERIC_HARDIRQS=y irq #0 is used for
>> > for external interrupts, irq #1 for I/O interrupts and irq #2 for adapter
>> > interrupts. The adapter interrupt handler for PCI has to scan the interrupt
>> > vectors and call generic_handle_irq for the MSI interrupts starting at irq #3.
>> > As I don't want to create a huge irq_desc array the number of allocatable
>> > interrupts for MSI will be limited and I can not simply assign 64 interrupts
>> > numbers to each device anymore.
>>
>> Have you looked at irq_domain? It was created to solve that exact
>> problem. irq_descs can get allocated dynamically as irqs are
>> requested.
>
> That is one option I am considering. The PCI support for System z can have multiple
> PCI function groups, each with up to 2048 MSI interrupts. It is quite a good match.

:-) It was designed to support exactly that use-case on PowerPC.

g.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/