<html><head></head><body><div style="color:#000; background-color:#fff; font-family:Helvetica Neue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:16px"><div id="yui_3_16_0_ym19_1_1473274608356_20056"><span id="yui_3_16_0_ym19_1_1473274608356_20055">In Bela we use it, but the BeagleBone Black is single-core, so we do not run it 100% CPU because that would prevent Linux from running altogether. M</span>y upper limit currently is "how much CPU can I use for my audio while I can still be ssh'd into the board and nicely SIGINT the process", and that is about 92.5%.</div><div id="yui_3_16_0_ym19_1_1473274608356_20057" dir="ltr">Above that the audio keeps running but the board becomes irresponsive, so not very practical to do it while developing (needs a power cycle to stop your running program!). Also, not sure how nicely that would play if the kernel does not run for many seconds/minutes/hours ... Will have to try it out.</div><div id="yui_3_16_0_ym19_1_1473274608356_20058"><br></div><div id="yui_3_16_0_ym19_1_1473274608356_20058">Giulio</div><div class="qtdSeparateBR" id="yui_3_16_0_ym19_1_1473274608356_20059"><br><br></div><div class="yahoo_quoted" id="yui_3_16_0_ym19_1_1473274608356_19757" style="display: block;"> <blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;" id="yui_3_16_0_ym19_1_1473274608356_19756"> <div style="font-family: Helvetica Neue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif; font-size: 16px;" id="yui_3_16_0_ym19_1_1473274608356_19755"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif; font-size: 16px;" id="yui_3_16_0_ym19_1_1473274608356_19754"> <div dir="ltr" id="yui_3_16_0_ym19_1_1473274608356_19753"> <font size="2" face="Arial" id="yui_3_16_0_ym19_1_1473274608356_19752"> <hr size="1"> <b><span style="font-weight:bold;">From:</span></b> Simon Iten <itensimon@gmail.com><br> <b><span style="font-weight: bold;">To:</span></b> Giulio Moro <giuliomoro@yahoo.it>; Jonathan Wilkes <jancsika@yahoo.com>; Pd-List <pd-list@lists.iem.at> <br> <b><span style="font-weight: bold;">Sent:</span></b> Wednesday, 7 September 2016, 21:22<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [PD] disable cores on linux to use as dedicated dsp<br> </font> </div> <div class="y_msg_container"><br><div id="yiv3560552009"><div>
    <div>interesting, bela uses this approach!</div>
    <div><a rel="nofollow" shape="rect" class="yiv3560552009moz-txt-link-freetext" target="_blank" href="http://bela.io/#about">http://bela.io/#about</a></div>
    <div><br clear="none">
    </div>
    <div>so it should not be that hard to adapt it for desktops and
      laptops<br clear="none">
    </div>
    <br clear="none">
    <div class="yiv3560552009yqt5597089258" id="yiv3560552009yqt67917"><div class="yiv3560552009moz-cite-prefix">On 09/07/2016 08:01 PM, Giulio Moro
      wrote:<br clear="none">
    </div>
    <blockquote type="cite">
      <div style="color:#000;background-color:#fff;font-family:Helvetica Neue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:16px;">
        <div><span>I believe the solution to these things lies in using
            Xenomai or other RT extensions for Linux. With Xenomai you
            take control of the scheduler and you can have one process
            taking up an entire CPU, while the Linux kernel waits ( or
            uses other CPUs).</span></div>
        <div><br clear="none">
        </div>
        <div class="yiv3560552009qtdSeparateBR">Giulio</div>
        <div class="yiv3560552009qtdSeparateBR"><br clear="none">
        </div>
        <div class="yiv3560552009yahoo_quoted" id="yiv3560552009yui_3_16_0_ym19_1_1473084678433_351408" style="display:block;">
          <blockquote id="yiv3560552009yui_3_16_0_ym19_1_1473084678433_351407" style="border-left:2px solid rgb(16, 16, 255);margin-left:5px;margin-top:5px;padding-left:5px;">
            <div id="yiv3560552009yui_3_16_0_ym19_1_1473084678433_351406" style="font-family:Helvetica Neue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:16px;">
              <div id="yiv3560552009yui_3_16_0_ym19_1_1473084678433_351405" style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:16px;">
                <div dir="ltr" id="yiv3560552009yui_3_16_0_ym19_1_1473084678433_351404"> <font face="Arial" size="2">
                    </font><hr size="1"> <b><span style="font-weight:bold;">From:</span></b>
                    Jonathan Wilkes via Pd-list
                    <a rel="nofollow" shape="rect" class="yiv3560552009moz-txt-link-rfc2396E" ymailto="mailto:pd-list@lists.iem.at" target="_blank" href="mailto:pd-list@lists.iem.at"><pd-list@lists.iem.at></a><br clear="none">
                    <b><span style="font-weight:bold;">To:</span></b>
                    Simon Iten <a rel="nofollow" shape="rect" class="yiv3560552009moz-txt-link-rfc2396E" ymailto="mailto:itensimon@gmail.com" target="_blank" href="mailto:itensimon@gmail.com"><itensimon@gmail.com></a>; Pd-List
                    <a rel="nofollow" shape="rect" class="yiv3560552009moz-txt-link-rfc2396E" ymailto="mailto:pd-list@lists.iem.at" target="_blank" href="mailto:pd-list@lists.iem.at"><pd-list@lists.iem.at></a> <br clear="none">
                    <b><span style="font-weight:bold;">Sent:</span></b>
                    Wednesday, 7 September 2016, 18:50<br clear="none">
                    <b><span style="font-weight:bold;">Subject:</span></b>
                    Re: [PD] disable cores on linux to use as dedicated
                    dsp<br clear="none">
                   </div>
                <div class="yiv3560552009y_msg_container"><br clear="none">
                  > On Wednesday, September 7, 2016 12:51 PM, Simon
                  Iten <<a rel="nofollow" shape="rect" ymailto="mailto:itensimon@gmail.com" target="_blank" href="mailto:itensimon@gmail.com">itensimon@gmail.com</a>>
                  wrote:<br clear="none">
                  <br clear="none">
                  > hi list,<br clear="none">
                  <br clear="none">
                  > i recorded 3 times in a studio last year that
                  uses a daw/pc <br clear="none">
                  > interconnection by pyramix, basically it is a
                  hacked windows system, <br clear="none">
                  > where one or two cores of a multicore cpu are
                  completely hidden from the <br clear="none">
                  > system. these cores are then acessed directly by
                  the daw and used as a <br clear="none">
                  > very powerful dsp. the system is incredible!
                  lowest latencies, high <br clear="none">
                  > trackcount, and the breakout to the adc/dac is a
                  simple network cable.<br clear="none">
                  <br clear="none">
                  > see here for additional info:<br clear="none">
                  <br clear="none">
                  > <a rel="nofollow" shape="rect" target="_blank" href="http://www.merging.ch/products/pyramix/masscore">http://www.merging.ch/products/pyramix/masscore</a><br clear="none">
                  <br clear="none">
                  > i since wondered if this would be a way to go for
                  puredata? at least on <br clear="none">
                  > linux it seems very easy to deactivate a core
                  (but i don't know if it <br clear="none">
                  > than can be used directly by a process) : echo 0
                  > <br clear="none">
                  > /sys/devices/system/cpu/cpu1/online for core2 for
                  example.<br clear="none">
                  <br clear="none">
                  <br clear="none">
                  > is this a completely stupid idea? note that i
                  have no idea how hard it <br clear="none">
                  > would be to implement something like this<br clear="none">
                  <br clear="none">
                  <br clear="none">
                  > thanks for any insight<br clear="none">
                  <br clear="none">
                  <br clear="none">
                  Hi Simon,<br clear="none">
                  That quite an intriguing design.<br clear="none">
                  <br clear="none">
                  It hurts my brain too much to try to assess the
                  difficulty of such an undertaking to <br clear="none">
                  refactor Pure Data to this design.  <br clear="none">
                  So let me try a shortcut:<br clear="none">
                  <br clear="none">
                  Inside d_ugen.c (which is essentially just dsp algos,
                  so there should be few if any <br clear="none">
                  system calls) I see a t_getbytes call.  t_getbytes
                  calls calloc.<br clear="none">
                  <br clear="none">
                  With the design you linked to, do Pd devs have to
                  reimplement malloc?  If the answer <br clear="none">
                  is yes, then I'd call this a massively difficult
                  undertaking.  If d_* relies on the <br clear="none">
                  system calls, then you can bet x_*, m_*, s_*, and g_*
                  do, too, and to a much greater <br clear="none">
                  extent.<br clear="none">
                  <br clear="none">
                  If the answer is no, I'd like to learn more about the
                  design.<br clear="none">
                  <br clear="none">
                  -Jonathan<br clear="none">
                  <br clear="none">
                  _______________________________________________<br clear="none">
                  <a rel="nofollow" shape="rect" ymailto="mailto:Pd-list@lists.iem.at" target="_blank" href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a>
                  mailing list<br clear="none">
                  UNSUBSCRIBE and account-management -> <a rel="nofollow" shape="rect" target="_blank" href="https://lists.puredata.info/listinfo/pd-list">https://lists.puredata.info/listinfo/pd-list</a>
                  <div class="yiv3560552009yqt1139065918" id="yiv3560552009yqtfd18137"><br clear="none">
                    <br clear="none">
                    _______________________________________________<br clear="none">
                    <a rel="nofollow" shape="rect" ymailto="mailto:Pd-list@lists.iem.at" target="_blank" href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a>
                    mailing list<br clear="none">
                    UNSUBSCRIBE and account-management -> <a rel="nofollow" shape="rect" target="_blank" href="https://lists.puredata.info/listinfo/pd-list">https://lists.puredata.info/listinfo/pd-list</a><br clear="none">
                  </div>
                  <br clear="none">
                  <br clear="none">
                </div>
              </div>
            </div>
          </blockquote>
        </div>
      </div>
    </blockquote></div>
    <br clear="none">
  </div></div><br><br></div> </div> </div> </blockquote> </div></div></body></html>