Re: Poor performance of pthreads across cpu dies.
site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com
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.
The limitation is an old Linux one, according to Intel. 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... -- Terry _______________________________________________ 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... On Sep 5, 2007, at 1:21 PM, Andrew Gallatin wrote: Terry Lambert writes: I'm not sure what linux kernels have to do with it. 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. 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). This email sent to site_archiver@lists.apple.com
participants (1)
-
Terry Lambert