linux-stable/arch
Jan Glauber 9dbafa5368 [PATCH] s390: overflow in sched_clock
The least significant bit of the TOD clock value returned by get_clock
is the 4096th part of a microsecond. To get to nanoseconds the value
needs to be divided by 4096 and multiplied with 1000.

The current method multiplies first and then shifts the value to make the
result as precise as possible.  The disadvantage is that the multiplication
with 1000 will overflow shortly after 52 days.  sched_clock is used by the
scheduler for time stamp deltas, if an overflow occurs between two time stamps
the scheduler will get confused.

With the patch the problem occurs only after approx.  one year, so the chance
to run into this overflow is extremly low.

Signed-off-by: Jan Glauber <jan.glauber@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-01 08:53:23 -08:00
..
alpha [PATCH] alpha show_interrups() trashes argument 2006-02-01 08:53:21 -08:00
arm [ARM] 3289/1: Enable the LCD support for Integrator/CP 2006-01-28 20:54:50 +00:00
arm26 [PATCH] arm26: select BLK_DEV_FD only on A5K 2006-02-01 08:53:22 -08:00
cris [PATCH] cris: task_thread_info() 2006-01-12 09:08:58 -08:00
frv [PATCH] Handle TIF_RESTORE_SIGMASK for FRV 2006-01-18 19:20:29 -08:00
h8300 [PATCH] h8300: task_stack_page() 2006-01-12 09:08:55 -08:00
i386 [PATCH] VMSPLIT config options 2006-02-01 08:53:21 -08:00
ia64 [IA64-SGI] Add PROM feature set for device flush list 2006-01-26 13:50:40 -08:00
m32r [PATCH] m32r: task_pt_regs(), task_stack_page(), task_thread_info() 2006-01-12 09:08:54 -08:00
m68k [PATCH] m68k: console code in head.S needs framebuffer support built in 2006-01-12 09:09:06 -08:00
m68knommu [PATCH] m68knommu: task_stack_page() 2006-01-12 09:08:55 -08:00
mips [PATCH] mips: gdb-stub.c: fix parse error before ; token 2006-02-01 08:53:12 -08:00
parisc [PATCH] e1000: Added disable packet split capability 2006-01-18 16:17:57 -05:00
powerpc [PATCH] powerpc: Fix sigmask handling in sys_sigsuspend. 2006-02-01 08:53:19 -08:00
ppc [PATCH] mv643xx_eth: Fix for building as a module 2006-01-27 11:09:24 -05:00
s390 [PATCH] s390: overflow in sched_clock 2006-02-01 08:53:23 -08:00
sh [PATCH] sh: machine_halt()/machine_power_off() cleanups 2006-02-01 08:53:20 -08:00
sh64 [PATCH] arch/sh64/kernel/time.c: add module.h 2006-02-01 08:53:20 -08:00
sparc [SPARC]: Fix compile failures in math-emu. 2006-01-30 16:46:24 -08:00
sparc64 [SPARC64]: Kill compat_sys_clock_settime sign extension stub. 2006-01-30 01:31:09 -08:00
um [PATCH] uml: avoid "CONFIG_NR_CPUS undeclared" bogus error messages 2006-02-01 08:53:23 -08:00
v850 [PATCH] v850: task_stack_page(), task_pt_regs() 2006-01-12 09:08:54 -08:00
x86_64 [PATCH] Add faster __iowrite32_copy routine for x86_64 2006-02-01 08:53:13 -08:00
xtensa [PATCH] xtensa: task_pt_regs(), task_stack_page() 2006-01-12 09:08:54 -08:00