I think we should rather have some kind of generic thing in the
IRQ layer that allows specifying the usage model of the device's
interrupts, so that the IRQ layer can choose a default affinities.
I never notice any of this complete insanity on sparc64 because
we flat spread out all of the interrupts across the machine.
What we don't want it drivers choosing IRQ affinity settings,
they have no idea about NUMA topology, what NUMA node the
PCI controller sits behind, what cpus are there, etc. and
without that kind of knowledge you cannot possible make
affinity decisions properly.
--