https://github.com/torvalds/linux
Revision 62f0f61e6673e67151a7c8c0f9a09c7ea43fe2b5 authored by Thomas Gleixner on 07 December 2007, 18:16:17 UTC, committed by Ingo Molnar on 07 December 2007, 18:16:17 UTC
Relative hrtimers with a large timeout value might end up as negative
timer values, when the current time is added in hrtimer_start().

This in turn is causing the clockevents_set_next() function to set an
huge timeout and sleep for quite a long time when we have a clock
source which is capable of long sleeps like HPET. With PIT this almost
goes unnoticed as the maximum delta is ~27ms. The non-hrt/nohz code
sorts this out in the next timer interrupt, so we never noticed that
problem which has been there since the first day of hrtimers.

This bug became more apparent in 2.6.24 which activates HPET on more
hardware.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
1 parent f194d13
Raw File
Tip revision: 62f0f61e6673e67151a7c8c0f9a09c7ea43fe2b5 authored by Thomas Gleixner on 07 December 2007, 18:16:17 UTC
hrtimers: avoid overflow for large relative timeouts
Tip revision: 62f0f61
.gitignore
#
# NOTE! Don't add files that are generated in specific
# subdirectories here. Add them in the ".gitignore" file
# in that subdirectory instead.
#
# Normal rules
#
.*
*.o
*.o.*
*.a
*.s
*.ko
*.so
*.so.dbg
*.mod.c
*.i
*.lst
*.symtypes

#
# Top-level generic files
#
tags
TAGS
vmlinux*
!vmlinux.lds.S
System.map
Module.symvers
!.gitignore

#
# Generated include files
#
include/asm
include/asm-*/asm-offsets.h
include/config
include/linux/autoconf.h
include/linux/compile.h
include/linux/version.h
include/linux/utsrelease.h

# stgit generated dirs
patches-*

# quilt's files
patches
series

# cscope files
cscope.*

*.orig
*.rej
back to top