Re: [patch] IRQ threads

From: Ingo Molnar
Date: Thu Jul 29 2004 - 18:08:07 EST



* Scott Wood <scott@xxxxxxxxxxx> wrote:

> On Wed, Jul 28, 2004 at 02:23:14PM -0700, Bill Huey wrote:
> > That way I picture the problem permits those threads to migration across
> > CPUs and therefore kill interrupt performance from cache thrashing. Do
> > you have a solution for that ? I like the way you're doing it now with
> > irqd() in that it's CPU-local, but as you know it's not priority sensitive.
>
> Wouldn't the IRQ threads be subject to the same heuristics that the
> scheduler uses with ordinary threads, in order to avoid unnecessary
> CPU migration? Plus, IRQs ordinarily get distributed across CPUs, and
> in most cases shouldn't have a very large cache footprint (especially
> data; the code can be in multiple CPU caches at once), so I don't
> think this is a susbtantial degradation from the way things already
> are.
>
> If desired by the user, an IRQ thread could be bound to a specific CPU
> to avoid such problems (in which case, they'd probably want to set the
> smp_affinity of the hard IRQ stub to the same CPU).

i fixed this problem in -M5 the other way around: the IRQ threads follow
the affinity settings. They will bind themselves to the first CPU in the
affinity mask and they migrate only at 'safe' points (between hardirqs).

this way e.g. user-space irqbalance will automatically move the IRQ
threads around too.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/