Subject: Re: multiqueue interrupts...

From: Arjan van de Ven <[email-masked]>
Date: Fri, 19 Sep 2008 15:11:20 -0700

On Fri, 19 Sep 2008 12:18:41 -0600
Matthew Wilcox <[email-masked]> wrote:
> 
> Another idea I've been thinking about is a flag to tell irqbalance to
> leave stuff alone, and we just set stuff up right the first time.

that's not a good answer. There are reasons for moving interrupts that
are a sysadmin choice (like power management policy that if the system
is seriously idle, that all interrupts go to one of the sockets so that
the others can stay in low power mode). Putting the policy in the kernel
to prohibit such admin choices sounds like a bad idea to me.

There are better ways to do what you want, for example by exposing a
"preferred cpu" somewhere so that irqbalance will place it there
"unless <...>". That is, if such kernel policy binding is right in the
first place

> In a storage / NUMA configuration we really want to set up one queue
> per cpu / package / node (depending on resource constraints) and know
> that the interrupt is going to come back to the same cpu / package /
> node. We definitely don't want irqbalanced moving the interrupt
> around.

irqbalance is NUMA aware and places a penalty on placing an interrupt
"wrongly". We can argue on how strong this penalty should be, but
thinking that irqbalance doesn't use the numa info the kernel exposes
is incorrect.

-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org