Browse Source

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>
Thomas Gleixner 14 years ago
parent
commit
5cd10e7946
1 changed files with 2 additions and 0 deletions
  1. 2 0
      kernel/hrtimer.c

+ 2 - 0
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);