Subject: Re: [RFC] export irq_set/get_affinity() for multiqueue network drivers

From: Andi Kleen <[email-masked]>
Date: Fri, 29 Aug 2008 18:48:12 +0200

Arjan van de Ven <[email-masked]> writes:

> On Thu, 28 Aug 2008 22:21:53 +0200
> Brice Goglin <[email-masked]> 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

-- 
[email-masked]