aboutsummaryrefslogtreecommitdiffstats
path: root/features/rt/mm-Allow-only-SLUB-on-RT.patch
diff options
context:
space:
mode:
Diffstat (limited to 'features/rt/mm-Allow-only-SLUB-on-RT.patch')
-rw-r--r--features/rt/mm-Allow-only-SLUB-on-RT.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/features/rt/mm-Allow-only-SLUB-on-RT.patch b/features/rt/mm-Allow-only-SLUB-on-RT.patch
new file mode 100644
index 00000000..54012244
--- /dev/null
+++ b/features/rt/mm-Allow-only-SLUB-on-RT.patch
@@ -0,0 +1,46 @@
+From 3049abb997a5dbe4e0c89c1fd51cb372c85ce15a Mon Sep 17 00:00:00 2001
+From: Ingo Molnar <mingo@elte.hu>
+Date: Fri, 3 Jul 2009 08:44:03 -0500
+Subject: [PATCH 094/191] mm: Allow only SLUB on RT
+
+Memory allocation disables interrupts as part of the allocation and freeing
+process. For -RT it is important that this section remain short and don't
+depend on the size of the request or an internal state of the memory allocator.
+At the beginning the SLAB memory allocator was adopted for RT's needs and it
+required substantial changes. Later, with the addition of the SLUB memory
+allocator we adopted this one as well and the changes were smaller. More
+important, due to the design of the SLUB allocator it performs better and its
+worst case latency was smaller. In the end only SLUB remained supported.
+
+Disable SLAB and SLOB on -RT. Only SLUB is adopted to -RT needs.
+
+Signed-off-by: Ingo Molnar <mingo@elte.hu>
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ init/Kconfig | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/init/Kconfig b/init/Kconfig
+index 5f5c776ef192..d51c16a3f355 100644
+--- a/init/Kconfig
++++ b/init/Kconfig
+@@ -1886,6 +1886,7 @@ choice
+
+ config SLAB
+ bool "SLAB"
++ depends on !PREEMPT_RT
+ select HAVE_HARDENED_USERCOPY_ALLOCATOR
+ help
+ The regular slab allocator that is established and known to work
+@@ -1906,6 +1907,7 @@ config SLUB
+ config SLOB
+ depends on EXPERT
+ bool "SLOB (Simple Allocator)"
++ depends on !PREEMPT_RT
+ help
+ SLOB replaces the stock allocator with a drastically simpler
+ allocator. SLOB is generally more space efficient but
+--
+2.19.1
+