diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-06-08 09:11:33 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-06-08 09:11:33 -0700 |
commit | b1e25f41094dfe0b9653c926d3c02a35c2eb249c (patch) | |
tree | 6ccbd499bd62f8ac46ce4335803c6ab4fad57ae4 /kernel/time | |
parent | 857505fae884fae32e700d4b019b5f652ebf0d3b (diff) | |
parent | fad0c66c4bb836d57a5f125ecd38bed653ca863a (diff) | |
download | linux-b1e25f41094dfe0b9653c926d3c02a35c2eb249c.tar.bz2 |
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull leap second timer fix from Thomas Gleixner.
* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
timekeeping: Fix CLOCK_MONOTONIC inconsistency during leapsecond
Diffstat (limited to 'kernel/time')
-rw-r--r-- | kernel/time/timekeeping.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 6e46cacf5969..6f46a00a1e8a 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@ -962,6 +962,7 @@ static cycle_t logarithmic_accumulation(cycle_t offset, int shift) timekeeper.xtime.tv_sec++; leap = second_overflow(timekeeper.xtime.tv_sec); timekeeper.xtime.tv_sec += leap; + timekeeper.wall_to_monotonic.tv_sec -= leap; } /* Accumulate raw time */ @@ -1077,6 +1078,7 @@ static void update_wall_time(void) timekeeper.xtime.tv_sec++; leap = second_overflow(timekeeper.xtime.tv_sec); timekeeper.xtime.tv_sec += leap; + timekeeper.wall_to_monotonic.tv_sec -= leap; } timekeeping_update(false); |