Maybe I should add that the entire idea of changing priorities and
using SCHED_FIFO threads is to have all the audio work executed before
the system dedicates any runtime to hardware or other software running
on the system. As most hardware interrupt sservicing threads run
SCHED_FIFO at 50, you'd want to use higher priorities than that.
Note that the absolute values used are relatively unimportant, but the
system will run a SCHED_FIFO thread of a higher priority before a
SCHED_FIFO thread of a lower priority or any other thread. This
concept does kind of get fuzzy on SMP/SMT systems, as on a SMP system
another cpu could be running a thread of a lower priority at the same
time. SMT systems could potentially be ever worse, as the kernel could
be running a SCHED_IDLE thread and voiding the cache on the CPU you
wanted to run your high priority thread. Luckily it seems that in
practice (at least on modern intel cpus), it all works well anyways.
--
Joakim