Re: PROBLEM: kmem_cache_create: duplicate cache fat_cache

From: Manfred Spraul
Date: Mon Jun 06 2005 - 14:47:26 EST


OGAWA Hirofumi wrote:

Ummm... why is this normal situation? Didn't you run the
modules_install after changed .config? Anyway, this patch returns
NULL instead of calling BUG(). This case seems to also happen with
user error.



Either return NULL or ignore the collision. I don't know what's the better solution.

I'm open to either approach - it depends on what the kmem_cache_create() caller expects.

--
Manfred
--- 2.6/mm/slab.c 2005-06-05 17:29:01.000000000 +0200
+++ build-2.6/mm/slab.c 2005-06-06 21:34:38.000000000 +0200
@@ -1480,9 +1480,14 @@
}
if (!strcmp(pc->name,name)) {
printk("kmem_cache_create: duplicate cache %s\n",name);
- up(&cache_chain_sem);
- unlock_cpu_hotplug();
- BUG();
+ /* This is a severe bug, because it breaks
+ * tuning by writing to /proc/slabinfo.
+ * But everything else works, and since
+ * duplicate caches typically happen if
+ * someone inserts a module twice, we'll
+ * continue.
+ */
+ WARN_ON(1);
}
}
set_fs(old_fs);