Re: [patch] voluntary-preempt-2.6.8-rc2-L2, preemptable hardirqs

From: Ingo Molnar
Date: Wed Jul 28 2004 - 01:04:13 EST



* Lee Revell <rlrevell@xxxxxxxxxxx> wrote:

> > i've done a softirq lock-break in the atkbd and ps2mouse drivers - this
> > should fix the big latencies triggered by NumLock/CapsLock, reported by
> > Lee Revell.
>
> L2 does not fix this problem. Previously, toggling CapsLock would
> trigger a single large XRUN. Now it seems to actually prevent the
> soundcard interrupt handler from executing in time, as well as
> triggering smaller XRUNs. This is with preempt=1,
> voluntary-preempt=3.

yeah, this is because right now irqd lacks any configurability: it is
executing all hardirqs (and all softirqs) in one context without any
particular prioritization.

if your soundcard doesnt share the irq line with any other 'heavy'
interrupt then you can make the irq 'direct' via a simple change to
arch/i386/kernel/irq.c, change this line from:

#define redirectable_irq(irq) ((irq) != 0)

to:

#define redirectable_irq(irq) (((irq) != 0) && ((irq) != 10))

(if the soundcard is on IRQ 10).

does such a change combined with v=3 fix the latencies you are seeing?

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/