AMIGA will use Linux, but Linux has several "multimedia-deficiencies"

Benno Senoner (sbenno@gardena.net)
Sat, 10 Jul 1999 16:49:58 +0200


Hello,

I've just read that the next generation AMIGA will use Linux as the core OS,
instead of QNX. ( http://www.amiga.com/diary/executive/linux-e.html )

Amiga is a multimedia platform, and therefore needs realtime capatibilites.

Unfortunately actually Linux doesn't allow to play any realtime
(low-latency) mulimedia content (audio/video,etc.) in a reliable fashion
, during high system load, especially disk I/O.
I was very disappointed when I benchmarked a 130ms max scheduling latency of a
realtime scheduled audio process (playing from RAM) under high disk I/O load on
my PII400 + 16GB UDMA harddisk. (for infos see my latency benchmark page)
Even Win98 is able to get 17ms audio latency on my machine (during
heavy disk I/O) without many problems.

It's a bit disappointing that under Linux we get latencies which are
50-100times the realistic (<5ms) latencies, we are FAR AWAY from the hardware
limits.

I was shocked when disabling DMA on my HD, my realtime process was
not rescheduled for *4000ms* = 4sec !
(a 100m sprinter is able to run 35m in the same time :-) )

Not only the audio layer is affected but many other subsystems too.
For example benchmarking usleep() I noticed a max 100-150ms scheduling
latency during high disk I/O load.
I don't understand why a process should block occasionally up to 150ms , when
usleep()ing only a few ms, because of the high disk I/O.

Actually there seems not a big interest to cure these deficiencies, just
because many see Linux as a server OS , and not a desktop OS,
on a web-server or fileserver you don't need guaranteed timing.
(Or is there already some unoffical work underway to cure the scheduling
problems of Linux ?)

Who cares if his webpage shows up 150ms earlier or later ? ,
or if your netscape executable which comes from the NFS server, is loaded
150ms later ? No one, I think.

Does anyone know if the disk device driver (or device drivers in general) can be
preempted from regular processes or is there no way to do this on Linux.
Do we really need a microkernel to handle realtime multimedia ?

Hopefully Amiga Inc, will help us to optimize these Linux deficiencies, through
collaborating with the kernel/audio/video developement folks.

comments ?

regards,
Benno.

Benno Senoner
E-Mail: sbenno@gardena.net
Linux scheduling latency benchmarks
http://www.gardena.net/benno/linux/audio

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