summaryrefslogtreecommitdiff
path: root/patches/sched-disable-ttwu-queue.patch
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2015-07-14 15:03:44 +0200
committerSebastian Andrzej Siewior <bigeasy@linutronix.de>2015-01-01 00:00:00 +0100
commit96f1ac50158c44831efd5e16de84a912a80492b4 (patch)
tree2ae9a85fe612503b4773bb0db5b7b4a736d9948c /patches/sched-disable-ttwu-queue.patch
downloadlinux-rt-96f1ac50158c44831efd5e16de84a912a80492b4.tar.gz
[ANNOUNCE] 4.1.2-rt1v4.1.2-rt1-patches
Dear RT folks! I'm pleased to announce the v4.1.2-rt1 patch set. The move from 4.0 to 4.1 was rather smooth, so we took the time for some overdue cleanups and restructuring of the patch queue. 1) Patch folding - Fold all fixlets into the proper patches - Consolidate the patches which change the same piece of code over and over (e.g. add/revert/redo). These patches were mostly kept to be easily picked up for stable. 2) Dropping obsolete patches Some patches have been superseeded by different upstream changes, so the RT variant is redundant. 3) Changelogs Quite some patches had no or useless changelogs. We updated them all. Each patch has now a From+Subject+Date field. That means "git quiltimport" will produce now the same commit id for each patch (as long as the commit author and date remain unchanged). 4) Reordering The patches got reordered in topics, so patches related to the same subsystem or problem space are grouped together. 5) Ability to build and boot Each step in the queue now builds with RT=n and RT=y. All steps boot with RT=n. With RT=y the functionality is obviously dependent on all patches, so a boot bisectability can not be achieved. As of now we provide a git tree with the RT changes as well. The tree is similar structured as Stevens stable RT tree. For each kernel version we provide 3 branches: linux-m.n.y-rt This branch starts when we move to a new kernel version. After the first release this branch gets only incremental updates (either from the mainline stable tree or from updates to the rt patch queue) linux-m.n.y-rt-rebase This branch is rebased when a new stable version or a new RT patch queue is available. The RT patch queue is applied on top of the latest mainline stable version. linux-m.n.y-queue This branch contains the revisions of the rt patch queue - patches and series file. Known issues: - My AMD box throws a lot of "cpufreq_stat_notifier_trans: No policy found" warnings after boot. It is gone after manually setting the policy (to something else than reported). - bcache is disabled. - CPU hotplug works in general. Steven's test script however deadlocks usually on the second invocation. - xor / raid_pq I had max latency jumping up to 67563us on one CPU while the next lower max was 58us. I tracked it down to module's init code of xor and raid_pq. Both disable preemption while measuring the performance of the individual implementation. The git URLs for this release are git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-4.1.y-rt git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-4.1.y-rt-rebase git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-4.1.y-rt-queue The RT patch against 4.1.2 can be found here: https://www.kernel.org/pub/linux/kernel/projects/rt/4.1/patch-4.1.2-rt1.patch.xz The split quilt queue is available at: https://www.kernel.org/pub/linux/kernel/projects/rt/4.1/patches-4.1.2-rt1.tar.xz Sebastian Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Diffstat (limited to 'patches/sched-disable-ttwu-queue.patch')
-rw-r--r--patches/sched-disable-ttwu-queue.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/patches/sched-disable-ttwu-queue.patch b/patches/sched-disable-ttwu-queue.patch
new file mode 100644
index 000000000000..9bb14049d163
--- /dev/null
+++ b/patches/sched-disable-ttwu-queue.patch
@@ -0,0 +1,31 @@
+Subject: sched: Disable TTWU_QUEUE on RT
+From: Thomas Gleixner <tglx@linutronix.de>
+Date: Tue, 13 Sep 2011 16:42:35 +0200
+
+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(+)
+
+--- a/kernel/sched/features.h
++++ b/kernel/sched/features.h
+@@ -50,11 +50,16 @@ SCHED_FEAT(LB_BIAS, true)
+ */
+ SCHED_FEAT(NONTASK_CAPACITY, true)
+
++#ifdef CONFIG_PREEMPT_RT_FULL
++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
+
+ #ifdef HAVE_RT_PUSH_IPI
+ /*