On 02/25/2011 05:32 PM, Paul Davis wrote:
On Fri, Feb 25, 2011 at 10:53 AM, Olivier Guilyardi
<list(a)samalyse.com> wrote:
Let's now consider that clients runs as
user(s) which do not have realtime
privileges by default, but that it's JACK which grant them such privileges and
assign them a certain CPU time share dynamically. In this scenario could also
refuse connections if it considers that there isn't enough resources.
sure, but granting RT privs to a client is not the goal. you want to
actually set the scheduling policy for specific threads.
Hmm, then..
1. a program calls jack_client_open()
2. libjack talks to jackd to request RT privs
3. jackd grants privs, with cgroup, runtime, period, etc..
4. libjack receives a success code from jackd
5. libjack sets the scheduling policy on the relevant threads
If at 4., jackd receives an error code, jack_client_open() terminates and
returns an error status.
But maybe that this is too much complication, where setting a global RT
runtime/period is maybe sufficient, and could possibly become the default in
major distributions. Not sure why it's done been done yet though.
--
Olivier