diff options
Diffstat (limited to 'debian/patches-rt/0301-preempt-Move-preempt_enable_no_resched-to-the-RT-blo.patch')
-rw-r--r-- | debian/patches-rt/0301-preempt-Move-preempt_enable_no_resched-to-the-RT-blo.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/debian/patches-rt/0301-preempt-Move-preempt_enable_no_resched-to-the-RT-blo.patch b/debian/patches-rt/0301-preempt-Move-preempt_enable_no_resched-to-the-RT-blo.patch new file mode 100644 index 000000000..41de0ba3d --- /dev/null +++ b/debian/patches-rt/0301-preempt-Move-preempt_enable_no_resched-to-the-RT-blo.patch @@ -0,0 +1,45 @@ +From 8cc1a32ca44ae3484956295c75afcc2234e809ae Mon Sep 17 00:00:00 2001 +From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +Date: Wed, 22 Sep 2021 19:34:40 +0200 +Subject: [PATCH 301/323] preempt: Move preempt_enable_no_resched() to the RT + block +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz + +preempt_enable_no_resched() should point to preempt_enable() on +PREEMPT_RT so nobody is playing any preempt tricks and enables +preemption without checking for the need-resched flag. + +This was misplaced in v3.14.0-rt1 und remained unnoticed until now. + +Point preempt_enable_no_resched() and preempt_enable() on RT. + +Cc: stable-rt@vger.kernel.org +Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> +--- + include/linux/preempt.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/include/linux/preempt.h b/include/linux/preempt.h +index af39859f02ee..7b5b2ed55531 100644 +--- a/include/linux/preempt.h ++++ b/include/linux/preempt.h +@@ -208,12 +208,12 @@ do { \ + preempt_count_dec(); \ + } while (0) + +-#ifdef CONFIG_PREEMPT_RT ++#ifndef CONFIG_PREEMPT_RT + # define preempt_enable_no_resched() sched_preempt_enable_no_resched() +-# define preempt_check_resched_rt() preempt_check_resched() ++# define preempt_check_resched_rt() barrier(); + #else + # define preempt_enable_no_resched() preempt_enable() +-# define preempt_check_resched_rt() barrier(); ++# define preempt_check_resched_rt() preempt_check_resched() + #endif + + #define preemptible() (preempt_count() == 0 && !irqs_disabled()) +-- +2.43.0 + |