summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/0189-mm-Allow-only-SLUB-on-RT.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches-rt/0189-mm-Allow-only-SLUB-on-RT.patch')
-rw-r--r--debian/patches-rt/0189-mm-Allow-only-SLUB-on-RT.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/debian/patches-rt/0189-mm-Allow-only-SLUB-on-RT.patch b/debian/patches-rt/0189-mm-Allow-only-SLUB-on-RT.patch
new file mode 100644
index 000000000..9fc3d7351
--- /dev/null
+++ b/debian/patches-rt/0189-mm-Allow-only-SLUB-on-RT.patch
@@ -0,0 +1,47 @@
+From 1da220d86ade67051c7c89743d6d037902c3839d Mon Sep 17 00:00:00 2001
+From: Ingo Molnar <mingo@elte.hu>
+Date: Fri, 3 Jul 2009 08:44:03 -0500
+Subject: [PATCH 189/323] mm: Allow only SLUB on RT
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz
+
+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 9807c66b24bb..df8d0d0f800f 100644
+--- a/init/Kconfig
++++ b/init/Kconfig
+@@ -1922,6 +1922,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
+@@ -1942,6 +1943,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.43.0
+