lkml.org 
[lkml]   [2008]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: gettimeofday() in 2.6.24
Jack Harvard wrote:

> http://lxr.linux.no/linux+v2.6.24/arch/arm/kernel/time.c#L240
> 239#ifndef CONFIG_GENERIC_TIME
> 240void do_gettimeofday(struct timeval *tv)
> 241{
> 242 unsigned long flags;
> 243 unsigned long seq;
> 244 unsigned long usec, sec;
> 245
> 246 do {
> 247 seq = read_seqbegin_irqsave(&xtime_lock, flags);
> 248 usec = system_timer->offset();
> 249 sec = xtime.tv_sec;
> 250 usec += xtime.tv_nsec / 1000;
> 251 } while (read_seqretry_irqrestore(&xtime_lock, seq, flags));


> but I haven't quite figured out how gettimeofday() actually gets time
> from this added timer, also how xtime is updated?


system_timer->offset() uses the added timer to return the number of
usecs since the last timer tick. It's potentially different for each
specific type of arm blade, and the function often has "gettimeoffset"
in the name.

"xtime" is updated in the core kernel code.

Chris


\
 
 \ /
  Last update: 2008-04-17 20:17    [W:0.033 / U:0.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site