kernel-hacking-2024-linux-s.../arch
Paul Mackerras 0a45d4491d powerpc: Fix problem with time going backwards
The recent changes to keep gettimeofday in sync with xtime had the side
effect that it was occasionally possible for the time reported by
gettimeofday to go back by a microsecond.  There were two reasons:
(1) when we recalculated the offsets used by gettimeofday every 2^31
timebase ticks, we lost an accumulated fractional microsecond, and
(2) because the update is done some time after the notional start of
jiffy, if ntp is slowing the clock, it is possible to see time go backwards
when the timebase factor gets reduced.

This fixes it by (a) slowing the gettimeofday clock by about 1us in
2^31 timebase ticks (a factor of less than 1 in 3.7 million), and (b)
adjusting the timebase offsets in the rare case that the gettimeofday
result could possibly go backwards (i.e. when ntp is slowing the clock
and the timer interrupt is late).  In this case the adjustment will
reduce to zero eventually because of (a).

Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-03-16 16:54:55 +11:00
..
alpha [PATCH] alpha: fix IRQ handling lockup 2006-03-09 19:47:37 -08:00
arm [ARM] iwmmxt thread state alignment 2006-03-12 22:36:06 +00:00
arm26
cris [PATCH] fallout from ptrace consolidation patch: cris/arch-v10 2006-02-07 20:57:19 -05:00
frv [PATCH] FRV: Use virtual interrupt disablement 2006-02-14 16:09:35 -08:00
h8300 [PATCH] add missing pm_power_off's 2006-03-06 18:40:44 -08:00
i386 [PATCH] i386: port ATI timer fix from x86_64 to i386 II 2006-03-08 18:10:31 -08:00
ia64 [IA64] Fix race in the accessed/dirty bit handlers 2006-03-08 16:07:55 -08:00
m32r [PATCH] m32r: fix and update for gcc-4.0 2006-02-24 14:31:36 -08:00
m68k [PATCH] m68k: pm_power_off() breakage 2006-02-18 16:30:20 -05:00
m68knommu [PATCH] hrtimer: round up relative start time on low-res arches 2006-02-14 16:09:35 -08:00
mips [MIPS] Always pass -msoft-float. 2006-03-09 18:05:10 +00:00
parisc [PATCH] hrtimer: round up relative start time on low-res arches 2006-02-14 16:09:35 -08:00
powerpc powerpc: Fix problem with time going backwards 2006-03-16 16:54:55 +11:00
ppc powerpc: Fix various syscall/signal/swapcontext bugs 2006-03-08 13:24:22 +11:00
s390 [PATCH] s390: Increase spinlock retry code performance 2006-03-09 19:47:38 -08:00
sh [PATCH] arch/sh/Kconfig: don't source non-existing Kconfig files 2006-03-09 19:47:37 -08:00
sh64 [PATCH] drive_info removal outside of arch/i386 2006-02-07 20:56:47 -05:00
sparc [SPARC]: sys_newfstatat --> sys_fstatat64 2006-02-12 23:30:11 -08:00
sparc64 [SPARC64]: Mark __ex_table section correctly. 2006-03-04 23:23:56 -08:00
um [PATCH] uml: tidying COW code 2006-02-24 14:31:37 -08:00
v850 [PATCH] add missing pm_power_off's 2006-03-06 18:40:44 -08:00
x86_64 [PATCH] x86-64: Fix up handling of non canonical user RIPs 2006-03-12 22:56:29 -08:00
xtensa [PATCH] xtensa must set RWSEM_GENERIC_SPINLOCK=y 2006-03-09 19:47:37 -08:00