From: Paul Mundt The BYTES_PER_WORD assumption doesn't work out on sh64 when we are using a 32-bit ABI. We want slab caches to be forced to a minimum alignment of 8-bytes, as it was before Anton's change. This was also already discussed at length with Manfred in this thread: http://marc.theaimsgroup.com/?l=linux-kernel&m=110227138116749&w=2 Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton --- 25-akpm/include/asm-sh64/uaccess.h | 6 ++++++ 1 files changed, 6 insertions(+) diff -puN include/asm-sh64/uaccess.h~sh64-align-slab-caches-on-an-8-byte-boundary include/asm-sh64/uaccess.h --- 25/include/asm-sh64/uaccess.h~sh64-align-slab-caches-on-an-8-byte-boundary 2005-03-07 20:41:26.000000000 -0800 +++ 25-akpm/include/asm-sh64/uaccess.h 2005-03-07 20:41:26.000000000 -0800 @@ -313,6 +313,12 @@ struct exception_table_entry sh64 at the moment). */ #define ARCH_KMALLOC_MINALIGN 8 +/* + * We want 8-byte alignment for the slab caches as well, otherwise we have + * the same BYTES_PER_WORD (sizeof(void *)) min align in kmem_cache_create(). + */ +#define ARCH_SLAB_MINALIGN 8 + /* Returns 0 if exception not found and fixup.unit otherwise. */ extern unsigned long search_exception_table(unsigned long addr); extern const struct exception_table_entry *search_exception_tables (unsigned long addr); _