Re: [linux-audio-dev] huge latency peaks with 2.4.10-smp kernel

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] huge latency peaks with 2.4.10-smp kernel
From: Jussi Laako (jussi.laako_AT_kolumbus.fi)
Date: Sat Oct 20 2001 - 18:22:04 EEST


Paul Davis wrote:
>
> >Kernel could also disable badly behaving driver. Once too long in driver
> >and *bang* driver is unloaded and device disabled.
>
> Ouch. You mean instrument every place where we block and unblock
> interrupts? Linus and 99.9% of the rest of the world are going to
> really love that!

Umm, yep, I can imagine that.
Forced cli/sti through specific kernel functions (as I believe is current
situation).

hard_disable_interrupt()
{
        enter_tsc = rdtsc();
        cli();
}

hard_enable_interrupt()
{
        sti();
        if ((rdtsc() - enter_tsc) > limit)
                unload_module();
}

Hmm, it looks like time to do some kernel hacking...

> that are impossible to use in a low latency system: even BeOS warned
> against any use of *any* joystick driver on their kernel for precisely
> this reason. Certain MIDI implementations (*cough*sblive*cough*) could
> be considered in the same category. Are their drivers "badly behaved",

Not to even mention XFree86 4.x with some graphics cards...

> The point is to identify such pieces of code, and make sure people know
> about them, ideally to the point of someone (the original author, or not)
> rewriting the code in question and/or making sure users know the
> implications.

Problem is also to find situations and drivers that behave badly. One good
example of very problematic driver is Intel's own EtherExpress/100 driver
(e100). I've been getting alot of problems with that.

        - Jussi Laako

-- 
PGP key fingerprint: 161D 6FED 6A92 39E2 EB5B  39DD A4DE 63EB C216 1E4B
Available at PGP keyservers


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Sat Oct 20 2001 - 18:19:06 EEST