summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/0269-sched-core-Drop-a-preempt_disable_rt-statement.patch
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-08 03:22:37 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-08 03:26:40 +0000
commit08f003891b84f52e49a5bdbc8a589fb052ac9a4e (patch)
treeb7e426b4a4eb48e9e71188a2812a4c71625c35ac /debian/patches-rt/0269-sched-core-Drop-a-preempt_disable_rt-statement.patch
parentMerging upstream version 4.19.260. (diff)
downloadlinux-08f003891b84f52e49a5bdbc8a589fb052ac9a4e.tar.xz
linux-08f003891b84f52e49a5bdbc8a589fb052ac9a4e.zip
Merging debian version 4.19.260-1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/patches-rt/0269-sched-core-Drop-a-preempt_disable_rt-statement.patch')
-rw-r--r--debian/patches-rt/0269-sched-core-Drop-a-preempt_disable_rt-statement.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/debian/patches-rt/0269-sched-core-Drop-a-preempt_disable_rt-statement.patch b/debian/patches-rt/0269-sched-core-Drop-a-preempt_disable_rt-statement.patch
new file mode 100644
index 000000000..a4b7753db
--- /dev/null
+++ b/debian/patches-rt/0269-sched-core-Drop-a-preempt_disable_rt-statement.patch
@@ -0,0 +1,46 @@
+From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+Date: Mon, 24 Jun 2019 19:33:16 +0200
+Subject: [PATCH 269/342] sched/core: Drop a preempt_disable_rt() statement
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=74d2e1a7300ec02a7bea54ed43fbabaa4e8e1193
+
+[ Upstream commit 761126efdcbe3fa3e99c9079fa0ad6eca2f251f2 ]
+
+The caller holds a lock which already disables preemption.
+Drop the preempt_disable_rt() statement in get_nohz_timer_target().
+
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+---
+ kernel/sched/core.c | 9 ++-------
+ 1 file changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/kernel/sched/core.c b/kernel/sched/core.c
+index feaf4d5683af..3b0f62be3ece 100644
+--- a/kernel/sched/core.c
++++ b/kernel/sched/core.c
+@@ -558,14 +558,11 @@ void resched_cpu(int cpu)
+ */
+ int get_nohz_timer_target(void)
+ {
+- int i, cpu;
++ int i, cpu = smp_processor_id();
+ struct sched_domain *sd;
+
+- preempt_disable_rt();
+- cpu = smp_processor_id();
+-
+ if (!idle_cpu(cpu) && housekeeping_cpu(cpu, HK_FLAG_TIMER))
+- goto preempt_en_rt;
++ return cpu;
+
+ rcu_read_lock();
+ for_each_domain(cpu, sd) {
+@@ -584,8 +581,6 @@ int get_nohz_timer_target(void)
+ cpu = housekeeping_any_cpu(HK_FLAG_TIMER);
+ unlock:
+ rcu_read_unlock();
+-preempt_en_rt:
+- preempt_enable_rt();
+ return cpu;
+ }
+