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 <[email protected]> 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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|