From d766bacb28e2ac29f6facd1c7995289b177b366c Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:30:20 -0500
Subject: [PATCH] timers: preempt-rt support

commit c90fc5b4462b0291bfce50ddf31e142471dc4803 in tip.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

diff --git a/kernel/timer.c b/kernel/timer.c
index fc3a98c..9f1a662 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -1226,6 +1226,18 @@ unsigned long get_next_timer_interrupt(unsigned long now)
 	struct tvec_base *base = __get_cpu_var(tvec_bases);
 	unsigned long expires;
 
+#ifdef CONFIG_PREEMPT_RT
+	/*
+	 * On PREEMPT_RT we cannot sleep here. If the trylock does not
+	 * succeed then we return the worst-case 'expires in 1 tick'
+	 * value:
+	 */
+	if (spin_trylock(&base->lock)) {
+		expires = __next_timer_interrupt(base);
+		spin_unlock(&base->lock);
+	} else
+		expires = now + 1;
+#else
 	spin_lock(&base->lock);
 	if (time_before_eq(base->next_timer, base->timer_jiffies))
 		base->next_timer = __next_timer_interrupt(base);
@@ -1234,7 +1246,7 @@ unsigned long get_next_timer_interrupt(unsigned long now)
 
 	if (time_before_eq(expires, now))
 		return now;
-
+#endif
 	return cmp_next_hrtimer_event(now, expires);
 }
 #endif
@@ -1259,30 +1271,12 @@ void update_process_times(int user_tick)
 }
 
 /*
- * Time of day handling:
- */
-static inline void update_times(void)
-{
-	static unsigned long last_tick = INITIAL_JIFFIES;
-	unsigned long ticks, flags;
-
-	write_raw_seqlock_irqsave(&xtime_lock, flags);
-	ticks = jiffies - last_tick;
-	if (ticks) {
-		last_tick += ticks;
-		update_wall_time();
-	}
-	write_raw_sequnlock_irqrestore(&xtime_lock, flags);
-}
-
-/*
  * This function runs timers and the timer-tq in bottom half context.
  */
 static void run_timer_softirq(struct softirq_action *h)
 {
 	struct tvec_base *base = __get_cpu_var(tvec_bases);
 
-	update_times();
 	hrtimer_run_pending();
 
 	if (time_after_eq(jiffies, base->timer_jiffies))
@@ -1308,6 +1302,7 @@ void run_local_timers(void)
 void do_timer(unsigned long ticks)
 {
 	jiffies_64 += ticks;
+	update_wall_time();
 	calc_global_load();
 }
 
-- 
1.7.1.1

