<div dir="ltr"><div><div><div><div>client limits: i will leave the developer(s) of jack2 to comment on the specifics. jack2 hard-codes more values than jack1.<br><br></div>the shared memory registry: you can't make its configuration a run-time thing, because you'd have to ensure that the library and the server are both given the same value. <br><br></div>MAX_SHM_ID is an operating system constant.<br><br></div>you are hitting the limit almost certainly because you are running far more clients than JACK was designed to support.<br><br></div>every client with a process callback implies at least 1 extra context switch during the process cycle. this does not and cannot scale with contemporary operating systems and processors. context switches are cheap but not free. doing hundreds of them per process cycle steals significant amounts of time from what is available for actual signal processing.<br><div><div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 10, 2016 at 9:46 AM, <a href="mailto:marcin@saepia.net" target="_blank">marcin@saepia.net</a> <span dir="ltr"><<a href="mailto:marcin@saepia.net" target="_blank">marcin@saepia.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Well I understand but what I observe is that JACK has unpredictable amount of total clients which is an issue, regardless if it's closer to 10 than 1000.</p>
<p dir="ltr">I have found out at least 3 conditions that affect this:</p>
<p dir="ltr">- compilation flags, which by the way may cause jack to segfault if they are set too high</p>
<p dir="ltr">- parameter to jackd</p>
<p dir="ltr">- MAX_SHM_ID</p>
<p dir="ltr">I suggest integrating this into one runtime command line parameter. </p><span><font color="#888888">
<p dir="ltr">M.</p></font></span><br></blockquote></div></div></div></div></div></div></div>