<div dir="ltr">  man clock_gettime says;<br>"The  CLOCK_PROCESS_CPUTIME_ID and 
CLOCK_THREAD_CPUTIME_ID clocks are realized on many platforms using 
timers from the CPUs  (TSC on i386, AR.ITC  on Itanium). These  
registers  may differ between CPUs and as a consequence these clocks may
 return bogus results if a process is migrated to  another CPU."<br><br> 
 Assuming that this is what you refer to, it seems wrong to disable 
cpu_timestamp on Linux. E.g., what if I run on a single-core machine? Or
 if my hardware is modern enough to support cross-core synchronized TSC?<br><br>  Also, that man page seems to be from 2007. It doesn't seem inconceivable that the kernel has grown features since then.<br><br> 
 So, OTP has disabled cpu_timestamp on all Linux machines, because it 
might give bad data on some hardware/kernel combinations. I would be 
happier if I could decide myself if I want to trust the data or not.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Apr 24, 2014 at 4:17 PM, Lukas Larsson <span dir="ltr"><<a href="mailto:lukas@erlang.org" target="_blank">lukas@erlang.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello,<div><br></div><div>The cpu_timestamp functionality needs the timestamp to be monotonic across cpus which the linux version of clock_gettime(CLOCK_PROCESS_CPUTIME_ID,_) isn't. This is why it is disabled on Linux. </div>


<div><br></div><div>Lukas</div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div class="h5">On Thu, Apr 24, 2014 at 10:56 AM, mats cronqvist <span dir="ltr"><<a href="mailto:masse@cronqvi.st" target="_blank">masse@cronqvi.st</a>></span> wrote:<br>


</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><br><div class="gmail_quote"><div dir="ltr"><span style="font-family:courier new,monospace">  tracing with high-resolution timers doesn't seem to work un my linux boxes (centos6, in this case);</span><br style="font-family:courier new,monospace">




<br style="font-family:courier new,monospace">
<span style="font-family:courier new,monospace">247> erlang:trace(all,true,[call,cpu_timestamp]).</span><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">** exception error: bad argument</span><br style="font-family:courier new,monospace">





<span style="font-family:courier new,monospace">     in function  erlang:trace/3</span><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">        called as erlang:trace(all,true,[call,cpu_timestamp])</span><br style="font-family:courier new,monospace">





<br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">  Seemingly, this is because this check in aclocal.m4;</span><br style="font-family:courier new,monospace"><br style="font-family:courier new,monospace">





<span style="font-family:courier new,monospace">   case $host_os in</span><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">       linux*)</span><br style="font-family:courier new,monospace">





<span style="font-family:courier new,monospace">           AC_MSG_RESULT([no; not stable])</span><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">           LIBRT=$xrtlib</span><br style="font-family:courier new,monospace">





<span style="font-family:courier new,monospace">           ;;</span><font face="courier new,monospace"><br><br>  Indeed, commenting out the above and rebuilding beam works;<br><br>1> erlang:trace(all,true,[call,cpu_timestamp]).<br>





24<br><br>  Is there any reason not to enable this?<span><font color="#888888"><span><font color="#888888"><br><br>  mats<br></font></span></font></span></font></div>
</div><br></div>
<br></div></div>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>