[PATCH RT 1/3] rt: timers: use CONFIG_PREEMPT_RT_FULL instead of CONFIG_PREEMPT_RT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



v4.14.320-rt152-rc1 stable review patch.
If anyone has any objections, please let me know.

-----------


Commit 095ff4885a17 ("timers: Prepare support for PREEMPT_RT") had references
to CONFIG_PREEMPT_RT, that does not exist in v4.14-rt.

André Pribil reported that a tcdrain() call from userspace was spinning
forever due to an endless loop in del_timer_sync(). He was able to fix the
problem by Replacing CONFIG_PREEMPT_RT with CONFIG_PREEMPT_RT_FULL in that
code.

Reported-by: André Pribil <Andre.Pribil@xxxxxxxxxxxxxxxx>
Fixes: 095ff4885a17 ("timers: Prepare support for PREEMPT_RT")
Signed-off-by: Luis Claudio R. Goncalves <lgoncalv@xxxxxxxxxx>
---
 kernel/time/timer.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index a3f229dc75ec..e1b5dfa260a4 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -198,7 +198,7 @@ EXPORT_SYMBOL(jiffies_64);
 struct timer_base {
 	raw_spinlock_t		lock;
 	struct timer_list	*running_timer;
-#ifdef CONFIG_PREEMPT_RT
+#ifdef CONFIG_PREEMPT_RT_FULL
 	spinlock_t		expiry_lock;
 	atomic_t		timer_waiters;
 #endif
@@ -1207,7 +1207,7 @@ int try_to_del_timer_sync(struct timer_list *timer)
 }
 EXPORT_SYMBOL(try_to_del_timer_sync);
 
-#ifdef CONFIG_PREEMPT_RT
+#ifdef CONFIG_PREEMPT_RT_FULL
 static __init void timer_base_init_expiry_lock(struct timer_base *base)
 {
 	spin_lock_init(&base->expiry_lock);
-- 
2.41.0




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux