summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/timers-prepare-for-full-preemption.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches-rt/timers-prepare-for-full-preemption.patch')
-rw-r--r--debian/patches-rt/timers-prepare-for-full-preemption.patch48
1 files changed, 0 insertions, 48 deletions
diff --git a/debian/patches-rt/timers-prepare-for-full-preemption.patch b/debian/patches-rt/timers-prepare-for-full-preemption.patch
deleted file mode 100644
index 7a6dd5a23..000000000
--- a/debian/patches-rt/timers-prepare-for-full-preemption.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From: Ingo Molnar <mingo@elte.hu>
-Date: Fri, 3 Jul 2009 08:29:34 -0500
-Subject: timers: Prepare for full preemption
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.2/older/patches-5.2.17-rt9.tar.xz
-
-When softirqs can be preempted we need to make sure that cancelling
-the timer from the active thread can not deadlock vs. a running timer
-callback. Add a waitqueue to resolve that.
-
-Signed-off-by: Ingo Molnar <mingo@elte.hu>
-Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
----
- include/linux/timer.h | 2 +-
- kernel/time/timer.c | 5 +++--
- 2 files changed, 4 insertions(+), 3 deletions(-)
-
---- a/include/linux/timer.h
-+++ b/include/linux/timer.h
-@@ -172,7 +172,7 @@ extern void add_timer(struct timer_list
-
- extern int try_to_del_timer_sync(struct timer_list *timer);
-
--#ifdef CONFIG_SMP
-+#if defined(CONFIG_SMP) || defined(CONFIG_PREEMPT_RT_FULL)
- extern int del_timer_sync(struct timer_list *timer);
- #else
- # define del_timer_sync(t) del_timer(t)
---- a/kernel/time/timer.c
-+++ b/kernel/time/timer.c
-@@ -1236,7 +1236,7 @@ int try_to_del_timer_sync(struct timer_l
- }
- EXPORT_SYMBOL(try_to_del_timer_sync);
-
--#ifdef CONFIG_SMP
-+#if defined(CONFIG_SMP) || defined(CONFIG_PREEMPT_RT_FULL)
- static int __del_timer_sync(struct timer_list *timer)
- {
- struct timer_base *base;
-@@ -1381,7 +1381,8 @@ static void expire_timers(struct timer_b
-
- fn = timer->function;
-
-- if (timer->flags & TIMER_IRQSAFE) {
-+ if (!IS_ENABLED(CONFIG_PREEMPT_RT_FULL) &&
-+ timer->flags & TIMER_IRQSAFE) {
- raw_spin_unlock(&base->lock);
- call_timer_fn(timer, fn, baseclk);
- base->running_timer = NULL;