Re: SMP P4 APIC/interrupt balancing

From: Ingo Molnar (mingo@elte.hu)
Date: Thu Apr 18 2002 - 23:38:40 EST


On Thu, 18 Apr 2002, Dave Olien wrote:

> Cache warmth in handling interrupts is good. In fact, this is one of
> the reasons to use interrupt affinity.

and in fact this is why IRQ handlers in the irqbalance patch stay affine
to a single CPU for at least 10 msecs. So for most practical purposes when
there is no direct affinity between tasks and IRQs, this brings us very
close the highest possible affinity that can be achieved.

/proc/irq/*/smp_affinity is still preserved for those workloads when some
direct relationship can be established between process activity and IRQ
load. (such as perfectly partitioned server workloads.)

> But, directing all interrupts to single processor penalizes unfairly any
> tasks that are scheduled to run on that processor. Under heavy
> interrupt load, a tasks can become effectively "pinned" onto that
> processor, unable to get cpu time to make progress, and unable to be
> scheduled somewhere else.
>
> Under really heavy interrupt load, it's good to have many processors
> handling interrupts. It increases rate the system can handle
> interrupts, and it reduces the latency of individual interrupts.

yes, this is why the irqbalance patch goes to great lengths to assure that
distribution of IRQs is as random as possible, with the following
variation: idle CPUs are more likely to be used by the IRQ balancing
mechanism than busy CPUs.

        Ingo

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



This archive was generated by hypermail 2b29 : Tue Apr 23 2002 - 22:00:23 EST