public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* debugobjects: Make them PREEMPT_RT aware
@ 2021-08-12 15:43 Thomas Gleixner
  2021-08-12 15:45 ` Sebastian Andrzej Siewior
  2021-08-13  8:12 ` [tip: core/debugobjects] " tip-bot2 for Thomas Gleixner
  0 siblings, 2 replies; 3+ messages in thread
From: Thomas Gleixner @ 2021-08-12 15:43 UTC (permalink / raw)
  To: LKML; +Cc: Peter Zijlstra, Sebastian Andrzej Siewior, Ingo Molnar

On PREEMPT_RT enabled kernels it is not possible to refill the object pool
from atomic context (preemption or interrupts disabled) as the allocator
might acquire 'sleeping' spinlocks.

Guard the invocation of fill_pool() accordingly.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 lib/debugobjects.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
---
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
@@ -557,7 +557,12 @@ static void
 	struct debug_obj *obj;
 	unsigned long flags;
 
-	fill_pool();
+	/*
+	 * On RT enabled kernels the pool refill must happen in preemptible
+	 * context:
+	 */
+	if (!IS_ENABLED(CONFIG_PREEMPT_RT) || preemptible())
+		fill_pool();
 
 	db = get_bucket((unsigned long) addr);
 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-08-13  8:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-12 15:43 debugobjects: Make them PREEMPT_RT aware Thomas Gleixner
2021-08-12 15:45 ` Sebastian Andrzej Siewior
2021-08-13  8:12 ` [tip: core/debugobjects] " tip-bot2 for Thomas Gleixner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox