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

Lee Revell
2004-07-27T22:57:00Z

On Tue, 2004-07-27 at 12:27, Ingo Molnar wrote:
> i've uploaded -L2:
>
> http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.8-rc2-L2
>
> the hardirq-redirection feature is activated via voluntary-preemption=3
> (default). All irqs except the timer irq are redirected. (the timer irq
> needs to run from irq context - but it has constant latency and constant
> frequency so it's not an issue. Soft timers are executed from the timer
> softirq which is redirected and hence preemptable.)
>
> this means that with this patch applied the 2.6 UP kernel is quite close
> to being hard-RT capable (using controlled drivers and workloads). All
> unbound-latency asynchronous workloads have been unloaded into
> synchronous, schedulable process contexts - so nothing can delay a
> high-prio RT task. (assuming we caught all the latencies. Any remaining
> latency can be fixed with the existing methods.)
>
> 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.
>

The Caps Lock problem goes away with voluntary-preempt=2. It makes
sense that 3 would be problematic, as for audio work you don't want the
soundcard interrupt redirected.

The obvious next feature to add would be to make certain IRQs
non-schedulable, like you would for an RT system. For an audio system
this would be just the soundcard interrupt (and timer as stated above).
Then, while it still might not be hard-RT, it would blow away anything
achievable on the other OS'es people do audio work with.

Lee