aboutsummaryrefslogtreecommitdiffstats
path: root/features/rt/sched-Disable-TTWU_QUEUE-on-RT.patch
diff options
context:
space:
mode:
Diffstat (limited to 'features/rt/sched-Disable-TTWU_QUEUE-on-RT.patch')
-rw-r--r--features/rt/sched-Disable-TTWU_QUEUE-on-RT.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/features/rt/sched-Disable-TTWU_QUEUE-on-RT.patch b/features/rt/sched-Disable-TTWU_QUEUE-on-RT.patch
new file mode 100644
index 00000000..d8a5054d
--- /dev/null
+++ b/features/rt/sched-Disable-TTWU_QUEUE-on-RT.patch
@@ -0,0 +1,37 @@
+From 1b8c8ade10b0b08dd7f7c2068683a78571967037 Mon Sep 17 00:00:00 2001
+From: Thomas Gleixner <tglx@linutronix.de>
+Date: Tue, 13 Sep 2011 16:42:35 +0200
+Subject: [PATCH 123/191] sched: Disable TTWU_QUEUE on RT
+
+The queued remote wakeup mechanism can introduce rather large
+latencies if the number of migrated tasks is high. Disable it for RT.
+
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+---
+ kernel/sched/features.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/kernel/sched/features.h b/kernel/sched/features.h
+index 1bc2b158fc51..b47967d00570 100644
+--- a/kernel/sched/features.h
++++ b/kernel/sched/features.h
+@@ -46,11 +46,16 @@ SCHED_FEAT(DOUBLE_TICK, false)
+ */
+ SCHED_FEAT(NONTASK_CAPACITY, true)
+
++#ifdef CONFIG_PREEMPT_RT
++SCHED_FEAT(TTWU_QUEUE, false)
++#else
++
+ /*
+ * Queue remote wakeups on the target CPU and process them
+ * using the scheduler IPI. Reduces rq->lock contention/bounces.
+ */
+ SCHED_FEAT(TTWU_QUEUE, true)
++#endif
+
+ /*
+ * When doing wakeups, attempt to limit superfluous scans of the LLC domain.
+--
+2.19.1
+