[GIT PULL] core/debugobjects changes for v3.5

From: Ingo Molnar
Date: Mon May 21 2012 - 15:51:50 EST


Linus,

Please pull the latest core-debugobjects-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-debugobjects-for-linus

HEAD: 3340808cf04faad7b87d6c6e13800825e5552b51 debugobjects: Fill_pool() returns void now

Not much happened: it includes a cleanup and an irq latency
reduction fixlet.

Thanks,

Ingo

------------------>
Dan Carpenter (1):
debugobjects: Fill_pool() returns void now

Thomas Gleixner (2):
debugobjects: Remove unused return value from fill_pool()
debugobjects: printk with irqs enabled


lib/debugobjects.c | 11 +++++------
1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/lib/debugobjects.c b/lib/debugobjects.c
index 0ab9ae8..d11808c 100644
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
@@ -79,30 +79,29 @@ static const char *obj_states[ODEBUG_STATE_MAX] = {
[ODEBUG_STATE_NOTAVAILABLE] = "not available",
};

-static int fill_pool(void)
+static void fill_pool(void)
{
gfp_t gfp = GFP_ATOMIC | __GFP_NORETRY | __GFP_NOWARN;
struct debug_obj *new;
unsigned long flags;

if (likely(obj_pool_free >= ODEBUG_POOL_MIN_LEVEL))
- return obj_pool_free;
+ return;

if (unlikely(!obj_cache))
- return obj_pool_free;
+ return;

while (obj_pool_free < ODEBUG_POOL_MIN_LEVEL) {

new = kmem_cache_zalloc(obj_cache, gfp);
if (!new)
- return obj_pool_free;
+ return;

raw_spin_lock_irqsave(&pool_lock, flags);
hlist_add_head(&new->node, &obj_pool);
obj_pool_free++;
raw_spin_unlock_irqrestore(&pool_lock, flags);
}
- return obj_pool_free;
}

/*
@@ -1052,10 +1051,10 @@ static int __init debug_objects_replace_static_objects(void)
cnt++;
}
}
+ 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) {
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/