aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-07-17 21:41:35 +0200
committerSteven Rostedt <rostedt@goodmis.org>2012-04-10 14:34:17 -0400
commit0a6cd476e264e9d206325f5bebf7f118b56e46db (patch)
treef6f9c32c5c1d38fdd7b30d818f514a63f63a7b16
parentb6bf517c9e56acab37fdae077f71b4d8f007c976 (diff)
debugobjects-rt.patch
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--lib/debugobjects.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/debugobjects.c b/lib/debugobjects.c
index a78b7c6e042c..9b622c994ecd 100644
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
@@ -306,7 +306,10 @@ __debug_object_init(void *addr, struct debug_obj_descr *descr, int onstack)
struct debug_obj *obj;
unsigned long flags;
- fill_pool();
+#ifdef CONFIG_PREEMPT_RT_FULL
+ if (preempt_count() == 0 && !irqs_disabled())
+#endif
+ fill_pool();
db = get_bucket((unsigned long) addr);
@@ -1015,9 +1018,9 @@ static int __init debug_objects_replace_static_objects(void)
}
}
+ local_irq_enable();
printk(KERN_DEBUG "ODEBUG: %d of %d active objects replaced\n", cnt,
obj_pool_used);
- local_irq_enable();
return 0;
free:
hlist_for_each_entry_safe(obj, node, tmp, &objects, node) {