On Wed, 21 May 2008 09:26:22 +0800 Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote: > On Wed, May 21, 2008 at 01:09:41AM +0900, FUJITA Tomonori wrote: > > > > Then, you don't need to use ARCH_KMALLOC_MINALIGN. 8 bytes align works > > for you on all the architectures. > > DMA isn't the only thing that requires alignment. The CPU needs > it too. Also using a constant like 8 is broken because if we used > a value larger than the alignment guaranteed by kmalloc then the > context may end up unaligned. ARCH_KMALLOC_MINALIGN represents DMA alignment since we guarantee kmalloced buffers can be used for DMA. Only non coherent architecutures defines ARCH_KMALLOC_MINALIGN to the cache line size since an DMA'able object within a structure isn't sharing a cache line with some other object (note that it not about only alignment). For your case, the alignment requirement for a pointer is appropriate (it's about the CPU alignment requirement that you talk about. 8 bytes alignment always works). -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html