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
This is not a very good solution, since I think it causes the JACK to lock up occasionally, but so far I have no clue why pd is having this problem. It appears to only happen with JACK (ALSA runs fine), and I do not have similar xruns with other programs running at the same time (ex. Ardour. Also, qjackctl shows no xruns). I get xruns about once a second, then I do the command "chrt -p 60 [whatever pd's pid is]" and all xruns go away.
Anyone know where to look for a solution? It is no good having the audio dropped or, worse, pd crashing occasionally.
regards, rich
On Nov 19, 2007 8:34 PM, Rich E reakinator@gmail.com wrote:
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