From 94db5b5c0cfd8c5e5afbb9d61349434df1eda3dc Mon Sep 17 00:00:00 2001 Message-Id: <94db5b5c0cfd8c5e5afbb9d61349434df1eda3dc.1592846147.git.zanussi@kernel.org> In-Reply-To: <07cd0dbc80b976663c80755496a03f288decfe5a.1592846146.git.zanussi@kernel.org> References: <07cd0dbc80b976663c80755496a03f288decfe5a.1592846146.git.zanussi@kernel.org> From: Thomas Gleixner Date: Thu, 25 Oct 2012 10:32:35 +0100 Subject: [PATCH 081/330] mm: Enable SLUB for RT Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.127-rt55.tar.xz Avoid the memory allocation in IRQ section Signed-off-by: Thomas Gleixner [bigeasy: factor out everything except the kcalloc() workaorund ] Signed-off-by: Sebastian Andrzej Siewior --- mm/slub.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mm/slub.c b/mm/slub.c index 7a0706ccdf30..f3fcb9502093 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -3699,6 +3699,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), @@ -3720,6 +3725,7 @@ static void list_slab_objects(struct kmem_cache *s, struct page *page, slab_unlock(page); kfree(map); #endif +#endif } /* -- 2.17.1