Bah, the documentation of sched_rr_get_interval() is wrong; the kernel
uses a fixed RR time quantum of 100 ms which cannot be changed (except
by changing DEF_TIMESLICE in kernel/sched.c).
This means that, when you have five RR/50 threads on one core, a thread
will run for 100 ms and then be interrupted for 400 ms. The only way
for the threads to user shorter intervals is for all of them to
cooperate and to call sched_yield() after having completed such
Linux-audio-dev mailing list