After setting up ubuntustudio (7.04) with a real-time kernel (
2.6.20-16-realtime), I was experiencing DIO errors every few seconds.
Exploring this taught me alot about how to set priorities on a real-time
kernel, mainly with the command 'chrt'. However, I don't think it is meant
to be used directly on an application, since there might be parts of the
application that are not supposed to run in real-time at a high priority.
Nonetheless, running:
r@pal:/etc/sysconfig$ pidof pd
12079
r@pal:/etc/sysconfig$ chrt -p 60 12079
sets pd running as:
r@pal:/etc/sysconfig$ chrt -p 12079
pid 12079's current scheduling policy: SCHED_RR
pid 12079's current scheduling priority: 60
and the xruns go away. I don't know too much about the different threads pd
is running on, but I was under the impression that pd is supposed to start
in real-time with a high priority. Yet, due to the apperant changes from
chrt, I would think that it was not running in real-time. I've tried this
on versions 0.40-3 and 0.41-7, and real-time scheduling is not specifically
turned off in the pd start-up settings.
Any thoughts?
regards,
rich