Re: [LAU] Concerning schedtool

From: csan <csanchezgs@email-addr-hidden>
Date: Sat Apr 19 2014 - 18:04:22 EEST

Robin Gareus escribió:
> On 04/19/2014 05:58 AM, Jonathan E Brickman wrote:>> When I keep the schedtool prefixes, MIDI keyhits all make it in and
>> synths all get their signal out through the sound card output. > That may be true for ALSA MIDI applications, but for jack applications
> using schedtool is plain wrong.
>
> You do not want to raise the priority of the application (think GUI or
> UI) itself. You only want the audio+midi i/o of an app to have realtime
> privileges. JACK does just that. With schedutils the GUI or application
> itself is be able to preempt audio I/O.
>
> You should have even better performance if you use schedtools only for
> applications that use alsa. And ideally just get rid of all native ALSA
> apps (most of the ones on your list do offer jack audio+midi), and use
> the new jack-0.124.1 instead of a2jmidid.>> When I don't, about one in 20-30 keyhits (and also occasionally
>> key-ups) get lost.> Wow. If schedutils works around this, there must be something very odd
> on your system, but hey. whatever works :)
>
> I find the hack to use the dummy driver and always resample using
> zita-a2j highly questionable. The timing of the dummy driver is
> horrible. It just uses usleep() which waits _at_least_ the given time
> (not at most). It's amazing that zita-ajbridge manages flatten this all
> out without major distortion :)
> The 'clock-source' configuration is misleading. The given clock is only
> used for calculating the time of the last x-run and for the b0rked
> built-in midi-drivers. It is not used in the dummy driver.
>
> Anyway as last note: jack uses sched_FIFO which can only be preemted by
> a another FIFO process with at least the same priority. Your schedtool
> script uses sched_RR which can be preempted (context switch) by other RR
> task (round robin time quantum), which is why it actually works: Those
> apps still can't preempt jack. otherwise zita-j2a with a higher priority
> than jack would cause all kind of priority inversions. yuck.
>
> tl;dr: Rather get the new jack1 - with zalsa built it and a proper midi
> driver and forget about schedutils.
>
> 2c,
> robin

In my experiments with a Raspberry PI as a headless FX pedalboard+looper for live jamming I don't use nohup/schedule commands on my scripts, and I've achieved an acceptable RT system with really low latency. I'm constantly improving it anyway, but it seems that disabling some services and tweaking jack1 is enough.

Hopefully I'll be releasing some scripts and apps when I can do some code cleanup to release them properly.

BTW. Jonathan, nice and useful blog/notes. Thanks for sharing.
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Sat Apr 19 20:15:03 2014

This archive was generated by hypermail 2.1.8 : Sat Apr 19 2014 - 20:15:03 EEST