On Mon, Jan 19, 2009 at 04:58:55PM +1100, Michael Ellerman wrote: > I guess I'd rather we didn't do a "complete rewrite", but there's > definitely work to be done before we can support lots of MSI-X irqs. It turns out it's a bit less of a 'complete rewrite' than I thought. At least, I tried branching off Linus' tree for it and was frustrated by not having the changes I've made for multiple MSI. > Are you seeing hardware with 2K MSIs? I've got _2_ on the SATA > controller in my laptop. Are you sure about that? Mine says: Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=2/2 Enable+ but that's because it's a non-fixed version of pciutils. Here's what 3.1.0 says: Capabilities: [80] MSI: Mask- 64bit- Count=4/4 Enable+ so it's actually got 4. This laptop has an ICH8 chipset, fwiw. As I'm sure you know (but others may not), MSI only supports up to 32 irqs; you need MSI-X to support up to 2048 irqs. I don't have access to my machine with MSI-X devices right now, but it seems that manufacturers have all kinds of good ideas about how to use hundreds if not yet thousands of interrupts. > Perhaps. Now that the other architecture implements arch_setup_msi_irqs > that might be a bit more feasible, when I added it powerpc was the only > user. The architectures are going to have to implement _irqs anyway to support multiple MSI. > Sounds good. Have you got any code we can see? > > And if you can incorporate the other patch I sent today into the rewrite > that'd be nice, we really need that functionality. The rewrite feels like a longer-term project ... let's not hold anything up for that. I'm going to rebase the multiple-msi tree on top of Jesse's linux-next branch later today. -- Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html