[RFC patch 6/8] timekeeping: Delay update of clock->cycle_last

From: Thomas Gleixner
Date: Thu Feb 21 2013 - 17:53:24 EST


For calculating the new timekeeper values store the new cycle_last
value in the timekeeper and update the clock->cycle_last just when we
actually update the new values.

Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
---
kernel/time/timekeeping.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

Index: linux-2.6/kernel/time/timekeeping.c
===================================================================
--- linux-2.6.orig/kernel/time/timekeeping.c
+++ linux-2.6/kernel/time/timekeeping.c
@@ -1120,7 +1120,7 @@ static cycle_t logarithmic_accumulation(

/* Accumulate one shifted interval */
offset -= interval;
- tk->clock->cycle_last += interval;
+ tk->cycle_last += interval;

tk->xtime_nsec += tk->xtime_interval << shift;
accumulate_nsecs_to_secs(tk);
@@ -1235,6 +1235,8 @@ static void update_wall_time(void)
*/
accumulate_nsecs_to_secs(tk);

+ /* Update clock->cycle_last with the new value */
+ clock->cycle_last = tk->cycle_last;
timekeeping_update(tk, false);

out:


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/