On Mon, Jul 07, 2008 at 10:17:03AM -0600, Grant Grundler wrote:
That's not the only way it can work. If you have an APIC per root bus,
you can target that with the write. The APIC could then map the
interrupt request to the appropriate CPU. In this scenario, programming
affinity would be twiddling some bits in the APIC and not need to write
to the device's MSI register at all.
What I've implemented for x86-64 can target any mask of CPUs that are
in the same interrupt domain. My machine only has one interrupt domain,
so I can target the MSI to any subset of the CPUs. They all move
together, so you can't target a different subset of CPUs for different
MSIs on the same device.
--
Intel are signing my paycheques ... these opinions are still mine
"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."
--