Index: linux-2.6.21-rc1/include/linux/slub_def.h =================================================================== --- linux-2.6.21-rc1.orig/include/linux/slub_def.h 2007-02-24 11:51:16.000000000 -0800 +++ linux-2.6.21-rc1/include/linux/slub_def.h 2007-02-24 13:08:00.000000000 -0800 @@ -10,22 +10,23 @@ #include #include +struct kmem_cache_node { + spinlock_t list_lock; /* Protect partial list and nr_partial */ + unsigned long nr_partial; + struct list_head partial; + atomic_long_t nr_slabs; +}; + /* * Slab cache management. */ struct kmem_cache { - spinlock_t list_lock; /* Protecty partial list and nr_partial */ - struct list_head partial; - unsigned long nr_partial; int offset; /* Free pointer offset. */ - struct page *cpu_slab[NR_CPUS]; - atomic_long_t nr_slabs[MAX_NUMNODES]; unsigned int order; unsigned long flags; int size; /* Total size of an object */ int objects; /* Number of objects in slab */ atomic_t refcount; /* Refcount for destroy */ - int align; void (*ctor)(void *, struct kmem_cache *, unsigned long); void (*dtor)(void *, struct kmem_cache *, unsigned long); @@ -38,6 +39,8 @@ atomic_t cpu_slabs; /* if >0 then flusher is scheduled */ struct delayed_work flush; #endif + struct kmem_cache_node *node[MAX_NUMNODES]; + struct page *cpu_slab[NR_CPUS]; }; /* @@ -119,6 +122,7 @@ #ifdef CONFIG_ZONE_DMA #define SLUB_DMA __GFP_DMA #else +/* Disable SLAB functionality */ #define SLUB_DMA 0 #endif