Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull core/debugobjects changes from Ingo Molnar:
"Not much happened: it includes a cleanup and an irq latency reduction
fixlet."

* 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
debugobjects: Fill_pool() returns void now
debugobjects: printk with irqs enabled
debugobjects: Remove unused return value from fill_pool()

+5 -6
+5 -6
lib/debugobjects.c
··· 79 79 [ODEBUG_STATE_NOTAVAILABLE] = "not available", 80 80 }; 81 81 82 - static int fill_pool(void) 82 + static void fill_pool(void) 83 83 { 84 84 gfp_t gfp = GFP_ATOMIC | __GFP_NORETRY | __GFP_NOWARN; 85 85 struct debug_obj *new; 86 86 unsigned long flags; 87 87 88 88 if (likely(obj_pool_free >= ODEBUG_POOL_MIN_LEVEL)) 89 - return obj_pool_free; 89 + return; 90 90 91 91 if (unlikely(!obj_cache)) 92 - return obj_pool_free; 92 + return; 93 93 94 94 while (obj_pool_free < ODEBUG_POOL_MIN_LEVEL) { 95 95 96 96 new = kmem_cache_zalloc(obj_cache, gfp); 97 97 if (!new) 98 - return obj_pool_free; 98 + return; 99 99 100 100 raw_spin_lock_irqsave(&pool_lock, flags); 101 101 hlist_add_head(&new->node, &obj_pool); 102 102 obj_pool_free++; 103 103 raw_spin_unlock_irqrestore(&pool_lock, flags); 104 104 } 105 - return obj_pool_free; 106 105 } 107 106 108 107 /* ··· 1051 1052 cnt++; 1052 1053 } 1053 1054 } 1055 + local_irq_enable(); 1054 1056 1055 1057 printk(KERN_DEBUG "ODEBUG: %d of %d active objects replaced\n", cnt, 1056 1058 obj_pool_used); 1057 - local_irq_enable(); 1058 1059 return 0; 1059 1060 free: 1060 1061 hlist_for_each_entry_safe(obj, node, tmp, &objects, node) {