Re: SCSI breakage on non-cache coherent architectures

David Miller
2007-11-19T08:38:02Z

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: Mon, 19 Nov 2007 16:35:23 +1100

> I'm not sure what is the best way to fix that. Internally, I've done
> some test whacking some ____cacheline_aligned in the scsi_cmnd data
> structure to verify I no longer get random SLAB corruption when using my
> USB but that significantly bloats the size of the structure on archs
> such as ppc64 that don't need it and have a large cache line size.
>
> Unfortunately, I don't think there's any existing Kconfig symbol or arch
> provided #define to tell us that we are on a non-coherent arch afaik
> that could be used to make that conditional.
>
> Another option would be to kmalloc the buffer (wasn't it the case before
> btw ?) but I suppose some people will scream at the idea due to how the
> command pools are done...

You could make a ____dma_cacheline_aligned and use that.
It seems pretty reasonable.