--- include/linux/slub_def.h | 30 ++---------------------------- 1 file changed, 2 insertions(+), 28 deletions(-) Index: linux-2.6/include/linux/slub_def.h =================================================================== --- linux-2.6.orig/include/linux/slub_def.h 2008-03-06 16:24:26.000000000 -0800 +++ linux-2.6/include/linux/slub_def.h 2008-03-06 17:00:43.000000000 -0800 @@ -16,28 +16,6 @@ */ #if defined(CONFIG_FAST_CMPXCHG_LOCAL) && !defined(CONFIG_PREEMPT) #define SLUB_FASTPATH -/* - * On 32 bits architectures, pages have a maximum size of 2^16 = 64KB. - * On 64 bits architectures, pages have a maximum size of 2^32 = 4GB. - */ -#define END_MASK 0x1 -#define HALF_BITS_PER_LONG (BITS_PER_LONG / 2) - -union freeversion { -#ifdef __BIG_ENDIAN - unsigned long v; - struct { - unsigned long sequence:HALF_BITS_PER_LONG; - unsigned long offset:HALF_BITS_PER_LONG; - } f; -#else - unsigned long v; - struct { - unsigned long offset:HALF_BITS_PER_LONG; - unsigned long sequence:HALF_BITS_PER_LONG; - } f; -#endif -}; #endif enum stat_item { @@ -62,13 +40,9 @@ enum stat_item { NR_SLUB_STAT_ITEMS }; struct kmem_cache_cpu { - struct page *page; /* The slab from which we are allocating */ -#ifdef SLUB_FASTPATH - union freeversion version; - unsigned long freebase:HALF_BITS_PER_LONG; -#else void **freelist; -#endif + struct page *page; /* The slab from which we are allocating */ + unsigned freebase; int node; /* The node of the page (or -1 for debug) */ unsigned int offset; /* Freepointer offset (in word units) */ unsigned int objsize; /* Size of an object (from kmem_cache) */