Re: [PATCH 1/3] Separate IRQ-stacks from 4K-stacks option

From: Lee Revell
Date: Sun Sep 12 2004 - 17:27:30 EST


On Sun, 2004-09-12 at 18:07, Andrea Arcangeli wrote:
> On Sun, Sep 12, 2004 at 05:36:41PM -0400, Lee Revell wrote:
> > But in this case the hardirq handler can run for 2ms, which caused a
> > scheduler latency problem, because nothing could run but other IRQs.
> > The IRQ threading in Ingo's patches solves the problem, and seems to me
> > to be the correct solution.
>
> the irq threading must have a cost, doesn't it? I doubt you want to
> offload irqs to a kernel thread on a server, *that* would be slow (irq
> nesting is zerocost compared to scheduling a kernel thread).

Yes, on a server you would probably disable threading for the disk and
network IRQs (the VP patch lets you set this via /proc). This feature
effectively gives you IPLs on Linux, albeit only two of them. For
example to prevent heavy traffic on one network interface from impacting
the latency of the other, you could enable threading for the first and
disable it for the second.

I am still unsure why the IDE i/o completion is the one place that
breaks the assumption that hardirq handlers execute quickly.

Lee

-
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/