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

Benno Senoner (sbenno@gardena.net)
Sat, 10 Jul 1999 19:14:42 +0200


On Sat, 10 Jul 1999, Alexander Viro wrote:
> On Sat, 10 Jul 1999, Benno Senoner wrote:
>
> > 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 )
>
> What? They need an RT kernel, not a timesharing one.
>
> > Amiga is a multimedia platform, and therefore needs realtime capatibilites.
>
> Sure.
>
> > 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.
>
> Which doesn't mix well with timesharing.

But IRIX seems to be monolithic and handles realtime content quite well.

> >
> > 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.
>
> Lots of overhead for no good reason. If you need a RT - take a RT kernel
> and don't mess with TS ones.

there seems to be some discrepancy about what is better uKernel or monolithic,
certainly it's easier to do RT stuff on a uKernel because all drivers run as
processes, but I think it's not impossible to archieve similar results on
monolithic kernels.
Yes, you have to deal with spinlocking and related stuff, but you get the
added bonus of less syscall overhead, which is in some cases 3 to 10 times
bigger on uKernels. ( read on the L4 for Linux papers).
Could maybe one solution to port all the Linux device drives to the L4 for
Linux uKernel ?
Actually on L4 for Linux the kernel runs as a single big server, and therefore
these big scheduling latency problems would not go away, until you port
every device driver to L4 IMHO. (correct me if I'm wrong).

The L4 folks benchmarked L4 for Linux and this uKernel runs only
about 6-7% slower than a standard Linux kernel which is not so much.
I would be happy to sacrifice 6-7% of performance to have a kernel
with good RT features.

http://os.inf.tu-dresden.de/pubs/sosp97/

>
> > 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 ?
>
> It's not a bug, it's a feature. "Optimize" will mean "screw normal usage".
> Optimizing for RT != optimizing for TS. Ditto the other way round. They
> should take RT-Linux or QNX, if they want RT. <looking at their page>
> Oh, dear... Looks like marketdroids decided that popularity of Linux means
> that they should use it and to hell with technical arguments. And managed
> to convince PHBs. Paint me cynical, but... Methink they are in for a big
> screwup.

I agree, QNX is certainly better than Linux for doing RT stuff, becuase of its
uKernel nature, but consider the fact that Linux has the advantage of
having big developer and commercial interest, this means lots of hardware
supported, and you don't have to pay licensing fees.
As for RT Linux: RT-Linux is certainly excellent to do specialized things,
like robotics etc. , but for general purpose multimeda, RT Linux will not help,
becuase you can't call syscalls in your RT Linux processes, you can only
use shared mem to communicate with the outside world or use specialized
kernel modules which do custiom I/O.

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/