Re: SCSI breakage on non-cache coherent architectures

From: Benjamin Herrenschmidt
Date: Mon Nov 19 2007 - 19:55:45 EST



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.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/