diff options
Diffstat (limited to 'debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch')
-rw-r--r-- | debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch b/debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch new file mode 100644 index 000000000..4d6e35faa --- /dev/null +++ b/debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch @@ -0,0 +1,42 @@ +From 24cc0bd393e472cf081687c51f59d2677a0ca367 Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner <tglx@linutronix.de> +Date: Thu, 25 Oct 2012 10:32:35 +0100 +Subject: [PATCH 081/347] mm: Enable SLUB for RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.246-rt110.tar.xz + +Avoid the memory allocation in IRQ section + +Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +[bigeasy: factor out everything except the kcalloc() workaorund ] +Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +--- + mm/slub.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/mm/slub.c b/mm/slub.c +index a5a086ed4493..959ccf873292 100644 +--- a/mm/slub.c ++++ b/mm/slub.c +@@ -3734,6 +3734,11 @@ static void list_slab_objects(struct kmem_cache *s, struct page *page, + const char *text) + { + #ifdef CONFIG_SLUB_DEBUG ++#ifdef CONFIG_PREEMPT_RT_BASE ++ /* XXX move out of irq-off section */ ++ slab_err(s, page, text, s->name); ++#else ++ + void *addr = page_address(page); + void *p; + unsigned long *map = kcalloc(BITS_TO_LONGS(page->objects), +@@ -3755,6 +3760,7 @@ static void list_slab_objects(struct kmem_cache *s, struct page *page, + slab_unlock(page); + kfree(map); + #endif ++#endif + } + + /* +-- +2.36.1 + |