Browse Source

nohz: reduce jiffies polling overhead

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar 17 years ago
parent
commit
7a14ce1d8c
1 changed files with 7 additions and 0 deletions
  1. 7 0
      kernel/time/tick-sched.c

+ 7 - 0
kernel/time/tick-sched.c

@@ -48,6 +48,13 @@ static void tick_do_update_jiffies64(ktime_t now)
 	unsigned long ticks = 0;
 	unsigned long ticks = 0;
 	ktime_t delta;
 	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 */
 	/* Reevalute with xtime_lock held */
 	write_seqlock(&xtime_lock);
 	write_seqlock(&xtime_lock);