<div dir="auto"><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Dec 7, 2016 4:48 PM, "Oyake, Amalaye (398F)" <<a href="mailto:amalaye.oyake@jpl.nasa.gov">amalaye.oyake@jpl.nasa.gov</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">







<div bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="m_4704228520438667061WordSection1">
<p class="MsoNormal"><span style="font-family:Consolas">Hello Joel:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">She is using the following function:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:Consolas">uint64_t rtems_clock_get_uptime_<wbr>nanoseconds (void) 
<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:Consolas"> <u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:Consolas">Returns the system uptime in nanoseconds.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">Is this a monotonic time source? Could something preempt this function?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">Could she also use:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
<p class="m_4704228520438667061MsoListParagraph" style="margin-left:45.0pt">
<u></u><span style="font-family:Consolas"><span>1)<span style="font:7.0pt "Times New Roman"">   
</span></span></span><u></u><span style="font-family:Consolas">The RTEMS Rate Monotonic Manager, or the<u></u><u></u></span></p>
<p class="m_4704228520438667061MsoListParagraph" style="margin-left:45.0pt"><span style="font-family:Consolas"><u></u> <u></u></span></p>
<p class="m_4704228520438667061MsoListParagraph" style="margin-left:45.0pt">
<u></u><span style="font-family:Consolas"><span>2)<span style="font:7.0pt "Times New Roman"">   
</span></span></span><u></u><span style="font-family:Consolas">POSIX clock_gettime() ?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u></span></p></div></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">I lean to the problem being in how "report" is done. Formatting and printing can be expensive. Especially if on a serial port. If the console is polled, that would kill some time.</div><div dir="auto"><br></div><div dir="auto">Keep a min/max for say 10000 firings and then report.</div><div dir="auto"><br></div><div dir="auto">There is a tmtest for the rate monotonic manager. You can run that to get a feel for the cost of its operations.<br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="white" lang="EN-US" link="blue" vlink="purple"><div class="m_4704228520438667061WordSection1"><p class="MsoNormal"><span style="font-family:Consolas"> <u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">Regards,<u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span style="font-family:Consolas">-----------<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* Amalaye Oyake                         <wbr>              *<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* Instrument Product Software Development Group  */\  *<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* Jet Propulsion Laboratory, Pasadena            *||  *<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">*                             <wbr>                   /||\ *<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">******************************<wbr>********************^^***<u></u><u></u></span></p>
</div>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-family:Consolas;color:black">From: </span>
</b><span style="font-family:Consolas;color:black">users <<a href="mailto:users-bounces@rtems.org" target="_blank">users-bounces@rtems.org</a>> on behalf of Janet Schneider <<a href="mailto:janetsc@fb.com" target="_blank">janetsc@fb.com</a>><br>
<b>Date: </b>Wednesday, December 7, 2016 at 1:38 PM<br>
<b>To: </b>"<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>" <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>><br>
<b>Cc: </b>"<a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a>" <<a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a>></span></p><div class="elided-text"><br>
<b>Subject: </b>Re: 1kHz timer behavior on Cyclone V<u></u><u></u></div><p></p>
</div><div class="elided-text">
<div>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
</div>
<div id="m_4704228520438667061divtagdefaultwrapper">
<p><span style="font-family:Consolas;color:black">Hi - thanks for the responses!<u></u><u></u></span></p>
<p><span style="font-family:Consolas;color:black"><u></u> <u></u></span></p>
<p><span style="font-family:Consolas;color:black">It is a very simple application that is only processing a 1 kHz timer for the purposes of this test.  There is no other CPU load on the system.  The only thing I do right now when the timer fires is calculate
 the time difference since the last timer fired.  Once a second, I output the average, min and max for that second.<u></u><u></u></span></p>
<p><span style="font-family:Consolas;color:black"><u></u> <u></u></span></p>
<p><span style="font-family:Consolas;color:black">I do have a delay it the main task, since it is just sitting there idle.  Would that account for such an increase in the time between the timer firing?<u></u><u></u></span></p>
<p><span style="font-family:Consolas;color:black"><u></u> <u></u></span></p>
<p><span style="font-family:Consolas;color:black">I will try the POSIX API next.<u></u><u></u></span></p>
<p><span style="font-family:Consolas;color:black"><u></u> <u></u></span></p>
<p><span style="font-family:Consolas;color:black">Thank you,<u></u><u></u></span></p>
<p><span style="font-family:Consolas;color:black">Janet<u></u><u></u></span></p>
</div>
<div class="MsoNormal" align="center" style="text-align:center"><span style="font-family:Consolas">
<hr size="2" width="98%" align="center">
</span></div>
<div id="m_4704228520438667061divRplyFwdMsg">
<p class="MsoNormal"><b><span style="font-family:Consolas;color:black">From:</span></b><span style="font-family:Consolas;color:black"> Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>><br>
<b>Sent:</b> Wednesday, December 7, 2016 1:15:23 PM<br>
<b>To:</b> Janet Schneider<br>
<b>Cc:</b> <a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
<b>Subject:</b> Re: 1kHz timer behavior on Cyclone V</span><span style="font-family:Consolas">
<u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span style="font-family:Consolas"> <u></u><u></u></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
<div>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
<div>
<p class="MsoNormal"><span style="font-family:Consolas">On Wed, Dec 7, 2016 at 11:44 AM, Janet Schneider <<a href="mailto:janetsc@fb.com" target="_blank">janetsc@fb.com</a>> wrote:<u></u><u></u></span></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div id="m_4704228520438667061m_-775959500229506860divtagdefaultwrapper">
<p><span style="font-family:Consolas;color:black">Hello,<u></u><u></u></span></p>
<p><span style="font-family:Consolas;color:black"><u></u> <u></u></span></p>
<p><span style="font-family:Consolas;color:black">I am running a 1kHz timer test on the Altera Cyclone V dev board.  I am trying to measure the average time period between the timer firing, and any variance on that latency.<u></u><u></u></span></p>
<p><span style="font-family:Consolas;color:black"><u></u> <u></u></span></p>
<p><span style="font-family:Consolas;color:black">I'm seeing an average of 1003 microseconds between the timer firing.  About once a second, I see the maximum time between the timer firing go up to 2500-3000 microseconds.<u></u><u></u></span></p>
<p><span style="font-family:Consolas;color:black"><u></u> <u></u></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span style="font-family:Consolas">There are two sets of timers. One is per clock tick and one is per second.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Consolas">My guesses are:<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Consolas">Do you have a sleep/delay statement in your thread?<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Consolas">There may be some work updating the time that occurs once per second. The implementation of this area has changed so I don't remember offhand if this is still the case.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div id="m_4704228520438667061m_-775959500229506860divtagdefaultwrapper">
<p><span style="font-family:Consolas;color:black">I'm using rtems_clock_get_uptime_<wbr>nanoseconds() to measure the time that the timer fires.  I have CONFIGURE_MICROSECONDS_PER_<wbr>TICK set to 500.<u></u><u></u></span></p>
<p><span style="font-family:Consolas;color:black"><u></u> <u></u></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span style="font-family:Consolas">What happens when the HW interrupt timer fires?<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:Consolas">--joel<u></u><u></u></span></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div id="m_4704228520438667061m_-775959500229506860divtagdefaultwrapper">
<p><span style="font-family:Consolas;color:black">Has anyone else seen this (or something similar)?  Any ideas what might be happening here?<u></u><u></u></span></p>
<p><span style="font-family:Consolas;color:black"><u></u> <u></u></span></p>
<p><span style="font-family:Consolas;color:black">Thanks,<u></u><u></u></span></p>
<p><span style="font-family:Consolas;color:black">Janet<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><span style="font-family:Consolas"><br>
______________________________<wbr>_________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.rtems.org_mailman_listinfo_users&d=DgMFaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=ipHQnEo1XnvLdE9wWxwn7A&m=PSdN3QZ704zCArL-e2FC8HNKBuxOYGI0eRi5dMuQb4c&s=eTxFRJzt-tRGJuYUztqYK5Oxmhq9j8bfp3the-WZgl4&e=" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a><u></u><u></u></span></p>
</blockquote>
</div>
<p class="MsoNormal"><span style="font-family:Consolas"><u></u> <u></u></span></p>
</div>
</div>
</div>
</div></div>
</div>

</blockquote></div><br></div></div></div>