X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=mm%2Fslob.c;h=79164a4f54ad2d64e7f4e8a5158b9cdc09682efd;hb=c59def9f222d44bb7e2f0a559f2906191a0862d7;hp=57bb72ed0d4686285602c2075e078ef9712fa045;hpb=afc0cedbe9138e3e8b38bfa1e4dfd01a2c537d62;p=safe%2Fjmp%2Flinux-2.6 diff --git a/mm/slob.c b/mm/slob.c index 57bb72e..79164a4 100644 --- a/mm/slob.c +++ b/mm/slob.c @@ -280,7 +280,6 @@ struct kmem_cache { unsigned long flags; const char *name; void (*ctor)(void *, struct kmem_cache *, unsigned long); - void (*dtor)(void *, struct kmem_cache *, unsigned long); }; struct kmem_cache *kmem_cache_create(const char *name, size_t size, @@ -296,13 +295,11 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size, c->name = name; c->size = size; if (flags & SLAB_DESTROY_BY_RCU) { - BUG_ON(dtor); /* leave room for rcu footer at the end of object */ c->size += sizeof(struct slob_rcu); } c->flags = flags; c->ctor = ctor; - c->dtor = dtor; /* ignore alignment unless it's forced */ c->align = (flags & SLAB_HWCACHE_ALIGN) ? SLOB_ALIGN : 0; if (c->align < align) @@ -371,8 +368,6 @@ void kmem_cache_free(struct kmem_cache *c, void *b) slob_rcu->size = c->size; call_rcu(&slob_rcu->head, kmem_rcu_free); } else { - if (c->dtor) - c->dtor(b, c, 0); __kmem_cache_free(b, c->size); } }