Messages in this thread | | | Subject | Re: SCSI breakage on non-cache coherent architectures | From | Benjamin Herrenschmidt <> | Date | Tue, 20 Nov 2007 11:55:01 +1100 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |