timers: prepare for full preemption improve
wake_up should do nothing on the nort, so we should use wakeup_timer_waiters, also fix a spell mistake. Cc: stable-rt@vger.kernel.org Signed-off-by: Zhao Hongjiang <zhaohongjiang@huawei.com> [bigeasy: s/CONFIG_PREEMPT_RT_BASE/CONFIG_PREEMPT_RT_FULL/] Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
This commit is contained in:
parent
9308c92781
commit
8899bf7640
|
@ -78,7 +78,9 @@ struct tvec_root {
|
|||
struct tvec_base {
|
||||
spinlock_t lock;
|
||||
struct timer_list *running_timer;
|
||||
#ifdef CONFIG_PREEMPT_RT_FULL
|
||||
wait_queue_head_t wait_for_running_timer;
|
||||
#endif
|
||||
unsigned long timer_jiffies;
|
||||
unsigned long next_timer;
|
||||
unsigned long active_timers;
|
||||
|
@ -962,7 +964,7 @@ static void wait_for_running_timer(struct timer_list *timer)
|
|||
base->running_timer != timer);
|
||||
}
|
||||
|
||||
# define wakeup_timer_waiters(b) wake_up(&(b)->wait_for_tunning_timer)
|
||||
# define wakeup_timer_waiters(b) wake_up(&(b)->wait_for_running_timer)
|
||||
#else
|
||||
static inline void wait_for_running_timer(struct timer_list *timer)
|
||||
{
|
||||
|
@ -1216,7 +1218,7 @@ static inline void __run_timers(struct tvec_base *base)
|
|||
}
|
||||
}
|
||||
}
|
||||
wake_up(&base->wait_for_running_timer);
|
||||
wakeup_timer_waiters(base);
|
||||
spin_unlock_irq(&base->lock);
|
||||
}
|
||||
|
||||
|
@ -1575,7 +1577,9 @@ static int init_timers_cpu(int cpu)
|
|||
base = per_cpu(tvec_bases, cpu);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PREEMPT_RT_FULL
|
||||
init_waitqueue_head(&base->wait_for_running_timer);
|
||||
#endif
|
||||
|
||||
for (j = 0; j < TVN_SIZE; j++) {
|
||||
INIT_LIST_HEAD(base->tv5.vec + j);
|
||||
|
|
Loading…
Reference in New Issue