A) You don't use semaphores, you use well known methods that are lock
free.
B) If the RT consumer finds low data, it can take an emergency action to
force Linux to run the "linux processor" next. If the clock is
ticking at 10 milliseconds, we will be fine -- assuming the app
works on a stream.
BTW: I'm agnostic about how audio applications, in general, should
be written but I do have two observations:
1. Hard realtime deadlines are hard realtime deadlines. To say that
you "only" need to run ever 5miliseconds is to say you need
a hard realtime system. You don't need realtime only when
"average" case or some other statistical measures is good enough.
2. Even when you just need QOS (quality of service) statistical
timing, you need some underlying hard RT to enforce QOS when
times get out of line: if missing 5 frames a minute is ok, but 6
is not, you need to enforce timing when 4 or 5 frames have dropped
in the last 50 seconds.
>
> Thats why, as David Lang patiently explained, if *any* of the
> processing path between the audio interface capture side and its
> playback side is subject to delays, you've lost. Ergo, the processing
> part has to be in RTLinux as well. Presto, we're back to something
> which, despite the elegant design of RTLinux, from a programming and
> debugging point of view is just like the terrible stuff thats done by
> putting soft synths into device drivers in windows to get close to
> reasonable performance.
>
> --p
>
>
> -
> 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/
-- --------------------------------------------------------- Victor Yodaiken FSMLabs: www.fsmlabs.com www.rtlinux.com FSMLabs is a servicemark and a service of VJY Associates L.L.C, New Mexico.
- 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/