aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorChristoph Lameter <clameter@sgi.com>2007-05-17 01:10:50 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-17 08:23:03 -0400
commitc59def9f222d44bb7e2f0a559f2906191a0862d7 (patch)
tree51bc0c12906b13887c6e53d1e06b48b411443129 /include/linux
parentafc0cedbe9138e3e8b38bfa1e4dfd01a2c537d62 (diff)
Slab allocators: Drop support for destructors
There is no user of destructors left. There is no reason why we should keep checking for destructors calls in the slab allocators. The RFC for this patch was discussed at http://marc.info/?l=linux-kernel&m=117882364330705&w=2 Destructors were mainly used for list management which required them to take a spinlock. Taking a spinlock in a destructor is a bit risky since the slab allocators may run the destructors anytime they decide a slab is no longer needed. Patch drops destructor support. Any attempt to use a destructor will BUG(). Acked-by: Pekka Enberg <penberg@cs.helsinki.fi> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/slub_def.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/include/linux/slub_def.h b/include/linux/slub_def.h
index c6c1f4a120e3..5e2e7297dfaa 100644
--- a/include/linux/slub_def.h
+++ b/include/linux/slub_def.h
@@ -40,7 +40,6 @@ struct kmem_cache {
40 int objects; /* Number of objects in slab */ 40 int objects; /* Number of objects in slab */
41 int refcount; /* Refcount for slab cache destroy */ 41 int refcount; /* Refcount for slab cache destroy */
42 void (*ctor)(void *, struct kmem_cache *, unsigned long); 42 void (*ctor)(void *, struct kmem_cache *, unsigned long);
43 void (*dtor)(void *, struct kmem_cache *, unsigned long);
44 int inuse; /* Offset to metadata */ 43 int inuse; /* Offset to metadata */
45 int align; /* Alignment */ 44 int align; /* Alignment */
46 const char *name; /* Name (only for display!) */ 45 const char *name; /* Name (only for display!) */