Messages in this thread | | | Subject | Re: [RFC] export irq_set/get_affinity() for multiqueue network drivers | From | Andi Kleen <> | Date | Fri, 29 Aug 2008 18:48:12 +0200 |
| |
Arjan van de Ven <arjan@infradead.org> writes:
> On Thu, 28 Aug 2008 22:21:53 +0200 > Brice Goglin <Brice.Goglin@inria.fr> wrote: > >> Hello, >> >> Is there any way to setup IRQ masks from within a driver? myri10ge >> currently relies on an external script (writing in >> /proc/irq/*/smp_affinity) to bind each queue/MSI-X to a different >> processor. By default, Linux will either: >> * round-robin the interrupts (killing the benefit of DCA for instance) >> * put all IRQs on the same CPU (killing much of th > > * do the right thing with the userspace irq balancer
It probably also needs to be hooked up the sched_mc_power_savings When the switch is on the interrupts shouldn't be spread out over that many sockets.
Does it need callbacks to change the interrupts when that variable changes?
Also I suspect handling SMT explicitely is a good idea. e.g. I would always set the affinity to all thread siblings in a core, not just a single one, because context switch is very cheap between them.
-Andi
-- ak@linux.intel.com
| |