On Thu, Sep 29, 2005 at 01:27:05AM +0900, Atsushi Nemoto wrote: > >>>>> On Tue, 27 Sep 2005 11:38:35 -0400 (EDT), Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> said: > > stern> If that is so, it's a bug in linux-mips. ARCH_KMALLOC_MINALIGN > stern> is supposed to be at least as large as a cacheline. See this > stern> comment in mm/slab.c: > > Thank you for pointing out this. > > Some time ago I also supposed so, but I was told to use > dma_get_cache_alignment() instead. The comment was not exist at that > time... ARCH_KMALLOC_MINALIGN is set to 8 on MIPS because we used to have 64-bit members in struct semaphore but on 32-bit kernels kmalloc would return 4-byte allocated memory only. Whoops, an ooops ;) Obviously that's been a thinko as it was done without consideration for DMA. Coherent I/O isn't affected, also there are a few R3000-class processors where 8 bytes happens to be just the right value. For anything else this is a bug which we probably get away most of the time and the value should would be the largest size of any cacheline in the cache hierarchy, so upto 128 for some systems. Ralf - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html