]> Pileus Git - ~andy/linux/commitdiff
Revert "mm/slab_common.c: cleanup"
authorPekka Enberg <penberg@kernel.org>
Thu, 16 Aug 2012 07:12:18 +0000 (10:12 +0300)
committerPekka Enberg <penberg@kernel.org>
Thu, 16 Aug 2012 07:12:18 +0000 (10:12 +0300)
This reverts commit 455ce9eb1cfa083da0def023094190aeb133855a. Andrew
sent a better version.

Signed-off-by: Pekka Enberg <penberg@kernel.org>
mm/slab_common.c

index 281600b30100bf21d6a43d813f5d53995a27019d..aa3ca5bb01b55a097f1397a6a92728f81b3167a5 100644 (file)
@@ -53,17 +53,19 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size, size_t align
 {
        struct kmem_cache *s = NULL;
 
-       get_online_cpus();
-       mutex_lock(&slab_mutex);
-
 #ifdef CONFIG_DEBUG_VM
        if (!name || in_interrupt() || size < sizeof(void *) ||
                size > KMALLOC_MAX_SIZE) {
                printk(KERN_ERR "kmem_cache_create(%s) integrity check"
-                               " failed\n", name);
-               goto oops;
+                       " failed\n", name);
+               goto out;
        }
+#endif
+
+       get_online_cpus();
+       mutex_lock(&slab_mutex);
 
+#ifdef CONFIG_DEBUG_VM
        list_for_each_entry(s, &slab_caches, list) {
                char tmp;
                int res;
@@ -102,6 +104,9 @@ oops:
        mutex_unlock(&slab_mutex);
        put_online_cpus();
 
+#ifdef CONFIG_DEBUG_VM
+out:
+#endif
        if (!s && (flags & SLAB_PANIC))
                panic("kmem_cache_create: Failed to create slab '%s'\n", name);