On Wed, Feb 11, 2009 at 10:16:28PM +1100, Michael Ellerman wrote: > If that was the generic code then yes. We can't (sanely) allocate them > one at a time. Actually, I wanted to ask you how insane it is to allocate `a few extra'. The reason I want to ask is that the current MSI-X API is very constrictive. Consider the following rare situation: A machine is booted with two CPUs. The network card asks for four interrupts, rx and tx for each CPU. Then two additional CPUs are hot-added; the network cards received notification, and wants to allocate four extra interrupts. The current API doesn't allow for such a scenario, but I want to come up wait an API that does allow it. Of course, architectures are going to be free to fail these requests, but it'd be nice if there's some way to permit it. (Looking further into the future, maybe we also want a way to free some subset of the interrupts -- for example, maybe this 4-way machine is upgraded to a 64-way machine, and there aren't enough system interrupts to assign 128 interrupts, so we fall back to one pair of interrupts per 4-way cell board, so we want to go down to 32 interrupts, but have them targetted differently. That's more complex stuff, obviously, and I won't cry if we never get there.) -- 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