[LAD] Kontakt Spikes

Michael Ost most at museresearch.com
Mon Oct 10 20:48:27 UTC 2011


On 10/10/2011 01:37 PM, Nick Copeland wrote:
>  > >> Would (a) a SCHED_RR/50 thread be run ahead of a SCHED_FIFO/49 thread?
>
> We have three answers, yes, no, and maybe. According to the kernel
> scheduler the
> answer is yes. The kernel does not actually have the final say here
> though which is
> why the answers no and maybe can be equally valid. Depending on the code
> involved
> the SCHED_RR/50 thread might be using semaphores which can cause priority
> inversion depending on who owns the semaphore.
>
> The RR/50 can request a semaphore being held my a FIFO/48 and it will
> pend. The
> FIFO/49 can now pre-empt the FIFO/48 and hence also pre-empt the RR/50. This
> may not be what was anticipated. It is bad programming but unusually
> easy to do,
> especially with regards to audio thread, midi threads, GUI threads and
> all the
> other gory details of audio app programming.
>
> I only bring it up since I read the original post to concern pre-emption
> of high pri
> threads and there are ways this can happen depending on what you are doing.
>
> Other people on the list can probably give you better explanation of the
> issue and
> perhaps even explain whether it is even relevant?

I have ruled out blocking with sync'ing primitives. That isn't happening 
when I get these unusual latencies. So for my particular case the answer 
is "yes". Cool.

Thanks for the reply,

Michael Ost



More information about the Linux-audio-dev mailing list