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