2012-06-17 19:52:06 +00:00
|
|
|
From 09b44e2cb399bb16808ee600624f1ff9a548c8d6 Mon Sep 17 00:00:00 2001
|
2011-11-20 00:01:55 +00:00
|
|
|
From: Thomas Gleixner <tglx@linutronix.de>
|
|
|
|
Date: Sun, 17 Jul 2011 21:41:35 +0200
|
2012-06-17 19:52:06 +00:00
|
|
|
Subject: [212/254] debugobjects-rt.patch
|
2011-11-20 00:01:55 +00:00
|
|
|
|
|
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
|
|
---
|
|
|
|
lib/debugobjects.c | 7 +++++--
|
|
|
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
|
|
|
|
2012-06-17 19:52:06 +00:00
|
|
|
diff --git a/lib/debugobjects.c b/lib/debugobjects.c
|
|
|
|
index 0ab9ae8..84c2f50 100644
|
|
|
|
--- a/lib/debugobjects.c
|
|
|
|
+++ b/lib/debugobjects.c
|
|
|
|
@@ -310,7 +310,10 @@ __debug_object_init(void *addr, struct debug_obj_descr *descr, int onstack)
|
2011-11-20 00:01:55 +00:00
|
|
|
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);
|
|
|
|
|
2012-06-17 19:52:06 +00:00
|
|
|
@@ -1053,9 +1056,9 @@ static int __init debug_objects_replace_static_objects(void)
|
2011-11-20 00:01:55 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
+ 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) {
|