This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

accurate gettimeofday_ns() on arm cortex a9 mpcore


Hi,

I'm trying to get some accurate timing information on an NVIDIA Tegra2 board
(ARM cortex a9 mpcore, dual core). I see that on ARM architectures the
get_cycles() function simply returns 0, so, in the time.c of systemtap's
runtime code I see that a value of 1000 is simply added to the base time. I
modified this source and made my own __get_cycles() function inside of
time.c. This function reads the value from a periphery global timer. I'm not
sure of the resolution of this timer but, this timer is synchronous with the
global clock (which is max 1GHz) and thus should be a multiple of the actual
cycle counter. This doesn't seem very accurate however. I am not using the
actual cycle counter which is available from the performance monitoring unit
because I am using this for other things, and also it is only a 32 bit
counter and would overflow too often. Is there any other way to get more
accurate timing information on an ARM processor?

thanks,

-Tony
-- 
View this message in context: http://old.nabble.com/accurate-gettimeofday_ns%28%29-on-arm-cortex-a9-mpcore-tp29486870p29486870.html
Sent from the Sourceware - systemtap mailing list archive at Nabble.com.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]