[erlang-questions] is Linux's clock_gettime still "not stable" enough for Erlang?

Joe Williams joe@REDACTED
Thu May 14 00:00:21 CEST 2009


According to the man pages CLOCK_REALTIME, CLOCK_MONOTONIC, 
CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID are supported on 
"sufficiently recent versions of glibc and the Linux kernel". I am 
running the latest Ubuntu which includes 2.6.28 so I would assume that 
this is sufficient. My C is rusty so I haven't been able to test it.

-Joe



mats cronqvist wrote:
> Joe Williams <joe@REDACTED> writes:
>
>   
>> I am seeing issues with this as well. I have some C++ code that uses
>> clock_gettime and it compiles and seems to work properly. But when I
>> configure Erlang it complains of it being unstable.
>>     
>
>   IIRC, it's not the existence of clock_gettime that is the problem,
>   but which clk_ids it supports. Perhaps CLOCK_PROCESS_CPUTIME_ID.
>
>   mats
>
>   
>> mats cronqvist wrote:
>>     
>>> Adam Kocoloski <adam.kocoloski@REDACTED> writes:
>>>
>>>   
>>>       
>>>> Hi, it seems to me that cpu_timestamp tracing is automatically
>>>> disabled on Linux.  configure spits out
>>>>
>>>>     
>>>>         
>>>>> checking if clock_gettime can be used to get process CPU
>>>>> time... not  stable, disabled
>>>>>       
>>>>>           
>>>> and in aclocal.m4 I see
>>>>
>>>>     
>>>>         
>>>>> case $host_os in
>>>>> 	linux*)
>>>>> 		AC_MSG_RESULT([not stable, disabled])
>>>>> 		LIBRT=$xrtlib
>>>>> 		;;
>>>>> 	*)
>>>>>       
>>>>>           
>>>> I'm wondering what the rationale was behind that, and in particular
>>>> whether newer kernels might have fixed the problem.  Does anyone
>>>> around here know a little more of the backstory? Best,
>>>>     
>>>>         
>>>   I'm not really familiar with this, so the following is at best partly
>>>   right.
>>>
>>>   configure checks for a syscall;
>>> http://www.linuxhowtos.org/manpages/2/clock_gettime.htm
>>>
>>>   On linuxen, this needs support from hardware, the kernel and libc.
>>>
>>>   E.g. on debian, with a 2.6 kernel, on i686 HW, you need to install
>>>   libc6-i686. That will give you a variant of clock_gettime that is
>>>   deemed "stable" by configure.
>>>
>>>   mats
>>> _______________________________________________
>>> erlang-questions mailing list
>>> erlang-questions@REDACTED
>>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>>   
>>>       

-- 
Name: Joseph A. Williams
Email: joe@REDACTED
Blog: http://www.joeandmotorboat.com/




More information about the erlang-questions mailing list