site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Terry Lambert writes:
On Sep 5, 2007, at 1:21 PM, Andrew Gallatin wrote:
Terry Lambert writes:
From my reading of things, the issue as to whether or not you can target multiple CPUs with MSI has more to do with contiguous vs. non- contiguous vector assignment (which means that it's not possible in older Linux kernels). The MSI-X implementation overcomes this in older Linux kernels due to independent configuration of message data and address. BUT, if you are willing to perform contiguous allocations, it's not a problem for MSI to do the same.
I'm not sure what linux kernels have to do with it.
The limitation is an old Linux one, according to Intel.
If you were to allocate 4 contiguous vectors, each vector could target a different ID, and the set of vectors could be associated with a single device.
The problem with multiple messages in MSI is that all messages have the same message address, but just different message data. Using the same message address means that all interrupts will be delivered to the same APIC, and hence to the same CPU. However, maybe this isn't a problem on darwin/OSX, since all hardware interrupts are delivered to CPU 0 anyway...
I think you missed where Mike pointed out that delivery is not as straight-forward as I initially said (I was mistaken, and Mike was correct here).
That is what I meant by "maybe this isn't a problem on darwin/OSX" :) However, it is a problem in that our NIC uses MSI-X, and not multiple MSI messages. Drew _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com