<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Sep 30, 2016, at 01:49 , Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de" class="">sebastian.huber@embedded-brains.de</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hello Peter,<br class=""><br class="">On 30/09/16 00:13, Peter Dufault wrote:<br class=""><blockquote type="cite" class="">I’m moving an older application to 4.12 and having performance issues compared to “4.11” (aka “4.10.99”) from around 2012.<br class=""></blockquote><br class="">what do you mean with performance issues?</div></div></blockquote><div><br class=""></div>The version running in the field is running a 10KHz servo using the “beatnik” BSP with about a 50% CPU load (based on time-stamps from the powerpc time counter at certain times during the servo loop collected at the frequency, so I can plot them and see where there are any funny bursts in the different phases of the work, interrupt at 10KHz, very high priority thread (commute) at 10KHz, lower priority thread run lest often (servo, 5KHz), etc ).  In the version I’ve just built it’s finishes with the final phase at 90% of the 10KHz period, and fails after a short time.  I’ve lowered the interrupt rate to 6KHz to get it to even run reliably.</div><div><br class=""><blockquote type="cite" class=""><div class=""><div class=""> Which 4.12 version do you use <br class="">exactly?<br class=""><br class=""></div></div></blockquote><div>This is from last weekend.  “git log .” shows the last commit to be the following:</div><div><br class=""></div><div><div>commit 938ee19c5a44feade660e6872f77c548a8d89bfb</div><div>Author: Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de" class="">sebastian.huber@embedded-brains.de</a>></div><div>Date:   Fri Sep 23 10:09:57 2016 +0200</div><div><br class=""></div><div>    sptests/spsem03: Fix compile error</div><div class=""><br class=""></div></div></div><div><br class=""><blockquote type="cite" class=""><div class=""><div class=""><blockquote type="cite" class=""><br class="">I have pthreads that are showing up as DFLT and PRIO in the “pthread” command in the shell.  For example, here:<br class=""><br class="">---<br class="">[/] # pthread<br class="">ID         NAME       CPU PRI STATE  MODES    EVENTS WAITID   WAITQUEUE<br class="">------------------------------------------------------------------------------<br class="">0b010001                0 253 SUSP   P:T:nA   NONE   00000000 00000000 [DFLT]<br class="">0b010002   grid         0 128 Wsem   P:T:nA   NONE   1a010006 00262a78 [PRIO]<br class="">0b010003   sokmon       0  55 Wsysev P:T:nA   NONE   00000000 00000000 [DFLT]<br class="">0b010004   sokmon       0 129 Wsysev P:T:nA   NONE   00000000 00000000 [DFLT]<br class="">0b010005   tmsync       0 129 DELAY:Wisig P:T:nA   NONE   00000000 00236260 [FIFO]<br class="">0b010006   log          0 129 Wsem   P:T:nA   NONE   3b010001 00275588 [FIFO]<br class="">0b010007   fset         0 129 Wsem   P:T:nA   NONE   3b01001e 00275a10 [FIFO]<br class="">0b010008   frm          0  25 Wsem   P:T:nA   NONE   3b010003 002755d8 [FIFO]<br class="">0b010009   publsh       0 128 Wjatx  P:T:nA   NONE   00000000 00000000 [DFLT]<br class="">0b01000a   frm          0  25 Wsem   P:T:nA   NONE   3b010007 00275678 [FIFO]<br class="">0b01000b   publsh       0 128 Wjatx  P:T:nA   NONE   00000000 00000000 [DFLT]<br class="">0b01000c   ss_srv       0 128 Wsysev P:T:nA   NONE   00000000 00000000 [DFLT]<br class="">0b01000d   muxmon       0 128 Wsem   P:T:nA   NONE   1a010016 00262ef8 [PRIO]<br class="">0b01000e   commute      0   1 Wsem   P:T:nA   NONE   3b01000b 00275718 [FIFO]<br class="">0b01000f   servo        0  17 Wsem   P:T:nA   NONE   3b010013 00275858 [FIFO]<br class="">0b010011   tclsrv       0  55 Wsysev P:T:nA   NONE   00000000 00000000 [DFLT]<br class="">[/] #<br class="">---<br class="">I started everything all pthreads with the SCHED_FIFO policy (I have a single wrapper around pthread_create() that I use), and I’m guessing this field has nothing to do with that.  Some are now DFLT and PRIO.<br class=""><br class="">I note that both WAITID and WAITQUEUE are always 0 in the DFLT case.<br class=""><br class="">- Does PRIO mean the priority is boosted?  I don’t expect that, especially for the “muxmon” or “sokmon” threads.<br class="">- What does DFLT mean?<br class=""></blockquote><br class="">[DFLT] means this thread doesn't wait on a thread queue<br class="">[FIFO] means it waits on a thread queue in FIFO order<br class="">[PRIO] means it waits on a thread queue in priority order<br class=""><br class="">The integer is the thread queue pointer value.<br class=""></div></div></blockquote><div><br class=""></div>I started everything using SCHED_FIFO.  What’s the relationship between SCHED_FIFO, a FIFO thread queue and a PRIO thread queue?  With SCHED_FIFO I expect something to get blocked in FIFO order behind all other threads of the same priority, so I don’t understand this.</div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; line-height: normal; border-spacing: 0px;"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 12px;">Peter<br class="">-----------------<br class="">Peter Dufault<br class="">HD Associates, Inc.      Software and System Engineering</span></font></div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 12px;"><br class=""></span></font></div>This email, like most email, is delivered unencrypted via internet email protocols subject to interception and tampering.  Contact HDA to discuss methods we can use that ensure secure communication.</span></div></span></div></div></div></div></div></div></div>
</div>
<br class=""></body></html>