Re: SCSI breakage on non-cache coherent architectures

Benjamin Herrenschmidt
2007-11-20T00:55:21Z

On Mon, 2007-11-19 at 16:46 -0800, David Miller wrote:
>
> 1) Require that entire buffers are commited by call sites,
> and thus "embedding" DMA'd within non-DMA stuff isn't allowed
>
> 2) Add the __dma_cacheline_aligned tag.
>
> But note that with #2 it could get quite ugly because the
> alignment and size both have a minimum that needs to be
> enforced, not just the alignment alone. So either:

Yup.

> struct foo {
> unsigned int other_unrelated_stuff;
>
> struct object dma_thing __dma_cacheline_aligned;
>
> unsigned int more_nondma_stuff __dma_cacheline_aligned;
> };

In my tests, I had used a "fuckton_t" object defined to be an empty
thing with alignment constraint, seemed to work :-) But I'd rather
require #1.

BTW. What is the status nowadays with skb's ?

Cheers,
Ben.