| From 8d2a97eb8cd75a2b6d22c073783fdc567a1e70c5 Mon Sep 17 00:00:00 2001 |
| From: Thomas Gleixner <tglx@linutronix.de> |
| Date: Sun, 17 Jul 2011 21:41:35 +0200 |
| Subject: [PATCH 208/274] debugobjects-rt.patch |
| |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| --- |
| lib/debugobjects.c | 7 +++++-- |
| 1 file changed, 5 insertions(+), 2 deletions(-) |
| |
| 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) |
| 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); |
| |
| @@ -1053,9 +1056,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) { |
| -- |
| 1.7.10.4 |
| |