Re: [PATCH] [request for inclusion] Realtime LSM

Jack O'Quin
2005-01-12T02:10:21Z

Ingo Molnar <mingo@elte.hu> writes:

> * Jack O'Quin <joq@io.com> wrote:
>
>> Here are the corrected results...
>>
>> With -R Without -R Without -R
>> (SCHED_FIFO) (nice -20) (nice --20)
>>
>> XRUN Count . . . . . . . . . : 2 2837 43
>> Delay Maximum . . . . . . . . : 3130 usecs 5038044 usecs 501374 usecs
>> Cycle Maximum . . . . . . . . : 960 usecs 18802 usecs 1036 usecs
>
> what kind of non-audio workload was there during this test? 43 xruns
> arent nice but arent that bad either.

Nothing heavy, but I was reading mail, and switching GNOME workspaces.
Workspace switching often caused trouble in the past, but I had
already hacked my X server not to run nice -10 (which is the Debian
default).

> plus, is it 100% sure that all audio threads inherited the nice --20
> priority - including the client threads? Nornally jackd does a
> setscheduler for the client threads so that they get boosted to
> SCHED_FIFO, but there is no parallel to that in the nice --20 case, did
> you do that manually (or did you start the clients up from the nice --20
> shell too?))

Having totally screwed up the test once already, I hesitate to claim
100% surety about anything. :-)

The script starts all the clients. I ran it with nice --20. I just
started it again so I could check the nice values with GNOME system
monitor. They all have -20, AFAICS. There are a bunch of them at
-20, and I don't see any process that looks relevant without -20.

> If the nice --20 priority setup is perfect and there are still xruns
> then could you try the following hack, change this line in
> kernel/sched.c:
>
> #define STARVATION_LIMIT (MAX_SLEEP_AVG)
>
> to:
>
> #define STARVATION_LIMIT 0
>
> this will turn off starvation checking, for testing purposes. (to see
> whether there's anything else but anti-starvation causing xruns.)

No problem (it might be Thursday before I have time to try it).
--
joq