|
@@ -330,15 +330,6 @@ void set_timer_slack(struct timer_list *timer, int slack_hz)
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(set_timer_slack);
|
|
|
|
|
|
-
|
|
|
-static inline void set_running_timer(struct tvec_base *base,
|
|
|
- struct timer_list *timer)
|
|
|
-{
|
|
|
-#ifdef CONFIG_SMP
|
|
|
- base->running_timer = timer;
|
|
|
-#endif
|
|
|
-}
|
|
|
-
|
|
|
static void internal_add_timer(struct tvec_base *base, struct timer_list *timer)
|
|
|
{
|
|
|
unsigned long expires = timer->expires;
|
|
@@ -923,15 +914,12 @@ int del_timer(struct timer_list *timer)
|
|
|
}
|
|
|
EXPORT_SYMBOL(del_timer);
|
|
|
|
|
|
-#ifdef CONFIG_SMP
|
|
|
/**
|
|
|
* try_to_del_timer_sync - Try to deactivate a timer
|
|
|
* @timer: timer do del
|
|
|
*
|
|
|
* This function tries to deactivate a timer. Upon successful (ret >= 0)
|
|
|
* exit the timer is not queued and the handler is not running on any CPU.
|
|
|
- *
|
|
|
- * It must not be called from interrupt contexts.
|
|
|
*/
|
|
|
int try_to_del_timer_sync(struct timer_list *timer)
|
|
|
{
|
|
@@ -960,6 +948,7 @@ out:
|
|
|
}
|
|
|
EXPORT_SYMBOL(try_to_del_timer_sync);
|
|
|
|
|
|
+#ifdef CONFIG_SMP
|
|
|
/**
|
|
|
* del_timer_sync - deactivate a timer and wait for the handler to finish.
|
|
|
* @timer: the timer to be deactivated
|
|
@@ -1098,7 +1087,7 @@ static inline void __run_timers(struct tvec_base *base)
|
|
|
|
|
|
timer_stats_account_timer(timer);
|
|
|
|
|
|
- set_running_timer(base, timer);
|
|
|
+ base->running_timer = timer;
|
|
|
detach_timer(timer, 1);
|
|
|
|
|
|
spin_unlock_irq(&base->lock);
|
|
@@ -1106,7 +1095,7 @@ static inline void __run_timers(struct tvec_base *base)
|
|
|
spin_lock_irq(&base->lock);
|
|
|
}
|
|
|
}
|
|
|
- set_running_timer(base, NULL);
|
|
|
+ base->running_timer = NULL;
|
|
|
spin_unlock_irq(&base->lock);
|
|
|
}
|
|
|
|