[linux-audio-dev] Re: Graph reordering

Juhana Sadeharju kouhia at nic.funet.fi
Wed Jun 16 13:25:19 UTC 2004


>From: Alfons Adriaensen <fons.adriaensen at alcatel.be>
>
>On Fri, Jun 11, 2004 at 08:37:09AM -0400, Paul Davis wrote:
>
>> you cannot modify the graph in JACK while the graph is being used to
>> process audio. you do not know how long the graph modification will
>> take if you try to do it (for example) right after you're done with
>> one process cycle. the only sure way to do this is to use lock free
>> parallel programming techniques.

Would anyone please explane details of these techniques?
Maybe it is something I know already but it is not clear.

>The 'heavy state' is AFAICS not the real problem.
>Heavy things can be put in place before the actual graph reordering
>is done or removed after. This does not need to be done in the RT
>thread.

For speeding up this approach one can also use caches for the items.
The engine butler can initialize module structures, delay lines, etc.
at its spare time. These initialized items are placed to cache. When
the engine needs an initialized item, it gets the item instantly from
the cache. (No patent pending.)

Juhana



More information about the Linux-audio-dev mailing list