[Jack-Devel] Avoiding spinlocks in a parallel sequencer

Johannes Lorenz johannes89 at mailueberfall.de
Sat Apr 11 19:25:39 CEST 2015

> > Nonetheless, if I have 40 instances of zyn, I'd
> > like to (actually must) compute them concurrently. So how to do this with
> > one client?
> By using your own internal graph mechanism that has parallel capabilities.
> See, for excample, https://github.com/flowprogramming/dspatch

This one is based on pthread_cond_wait(), which is either implemented as a spinlock or not realtime safe (I guess the second). So how can this help?

> > The best way I can see is using an array of jack clients, and hoping
> > they'll process() at the same time. However, this sounds very tricky...
> There can be very good reasons for using JACK 1. If a user is doing that,
> you won't get any parallelization at all.

Does JACK 2 allow to use multiple jack clients that call process() at the same time? Or does it allow to enter process() with multiple threads? There seems to be no documentation/tutorial about JACK 2.

More information about the Jackaudio mailing list