1
linux/kernel/time
john stultz 17c38b7490 Cache xtime every call to update_wall_time
This avoids xtime lag seen with dynticks, because while 'xtime' itself
is still not updated often, we keep a 'xtime_cache' variable around that
contains the approximate real-time that _is_ updated each time we do a
'update_wall_time()', and is thus never off by more than one tick.

IOW, this restores the original semantics for 'xtime' users, as long as
you use the proper abstraction functions (ie 'current_kernel_time()' or
'get_seconds()' depending on whether you want a timespec or just the
seconds field).

[ Updated Patch.  As penance for my sins I've also yanked another #ifdef
  that was added to avoid the xtime lag w/ hrtimers.  ]

Signed-off-by: John Stultz <johnstul@us.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-25 10:17:44 -07:00
..
clockevents.c Remove clockevents_{release,request}_device 2007-07-16 09:05:43 -07:00
clocksource.c clocksource: fix lock order in the resume path 2007-05-15 08:54:00 -07:00
jiffies.c
Kconfig
Makefile Move timekeeping code to timekeeping.c 2007-05-08 11:15:06 -07:00
ntp.c NTP: move the cmos update code into ntp.c 2007-07-21 17:49:15 -07:00
tick-broadcast.c clockevents: fix device replacement 2007-07-21 17:49:15 -07:00
tick-common.c clockevents: fix resume logic 2007-07-21 17:49:15 -07:00
tick-internal.h highres/dyntick: prevent xtime lock contention 2007-05-08 11:15:10 -07:00
tick-oneshot.c highres: improve debug output 2007-07-21 17:49:15 -07:00
tick-sched.c tick management: spread timer interrupt 2007-07-21 17:49:15 -07:00
timekeeping.c Cache xtime every call to update_wall_time 2007-07-25 10:17:44 -07:00
timer_list.c kallsyms: make KSYM_NAME_LEN include space for trailing '\0' 2007-07-17 10:23:03 -07:00
timer_stats.c kallsyms: make KSYM_NAME_LEN include space for trailing '\0' 2007-07-17 10:23:03 -07:00