summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-06-10 16:18:24 +0200
committerIngo Molnar <mingo@elte.hu>2008-06-10 16:18:24 +0200
commitfa23641d2a830101de224cb0ecb5ef3ce08024c8 (patch)
tree80b28d2b1ba7af95f65e328be28a1742850749fa /kernel
parentaab2545fdd6641b76af0ae96456c4ca9d1e50dad (diff)
parent11120b8850a5dd7b115540ea12a94b4020920850 (diff)
Merge branch 'timers/clockevents' into auto-timers-next
Diffstat (limited to 'kernel')
-rw-r--r--kernel/time/tick-sched.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index b854a895591e..cb75394ed00e 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -48,6 +48,13 @@ static void tick_do_update_jiffies64(ktime_t now)
unsigned long ticks = 0;
ktime_t delta;
+ /*
+ * Do a quick check without holding xtime_lock:
+ */
+ delta = ktime_sub(now, last_jiffies_update);
+ if (delta.tv64 < tick_period.tv64)
+ return;
+
/* Reevalute with xtime_lock held */
write_seqlock(&xtime_lock);