summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-03-02 16:58:30 +0100
committerThomas Gleixner <tglx@linutronix.de>2011-03-02 17:20:00 +0100
commit5cd10e7946d28cfc42442fee2e6c757e244d756e (patch)
tree3886b72694e0edb7334f9a17ac9325f8b068c6e6
parenttimers: Export CLOCK_BOOTTIME via the posix timers interface (diff)
downloadlinux-5cd10e7946d28cfc42442fee2e6c757e244d756e.tar.xz
linux-5cd10e7946d28cfc42442fee2e6c757e244d756e.zip
hrtimer: Update base[CLOCK_BOOTTIME].offset correctly
We calculate the current time of each clock base by adding an offset to clock_monotonic. The offset for the clock bases is set in retrigger_next_event() which is called when we switch a cpu to highres mode or when the clock was set. Add the missing update for clock boottime. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: John Stultz <johnstul@us.ibm.com>
-rw-r--r--kernel/hrtimer.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c
index 4c53af18734b..f679a2d08723 100644
--- a/kernel/hrtimer.c
+++ b/kernel/hrtimer.c
@@ -635,6 +635,8 @@ static void retrigger_next_event(void *arg)
raw_spin_lock(&base->lock);
base->clock_base[HRTIMER_BASE_REALTIME].offset =
timespec_to_ktime(realtime_offset);
+ base->clock_base[HRTIMER_BASE_BOOTTIME].offset =
+ timespec_to_ktime(sleep);
hrtimer_force_reprogram(base, 0);
raw_spin_unlock(&base->lock);