#define ARCH_KMALLOC_MINALIGN 8
Is this line really needed?
If it was not defined (and ARCH_KMALLOC_FLAGS was also not defined),
default alignment (cache_line_size()) will be used for kmalloc. It is
enough, isn't it?
Also, with current 8 byte alignment, many PCI drivers which are using
kmalloc and dma_map_single are broken on non-coherent system. I was
told that those drivers should use dma_get_cache_alignment() API, but
currently nobody do it anyway. Removing ARCH_KMALLOC_MINALIGN will
help those (broken?) drivers.