Re: [PATCH 1/3 v3] dma: document dma_{un}map_{single|sg}_attrs() interface

Benjamin Herrenschmidt
2008-03-01T03:01:22Z

On Fri, 2008-02-29 at 12:37 -0600, James Bottomley wrote:
> To be honest, I still don't like the name. SYNC_ON_WRITE is the SN2
> implementation. What it's actually doing is implementing strict
> ordering semantics. I think it should really be
> DMA_ATTR_STRICT_ORDERING (with a corresponding
> DMA_ATTR_RELAXED_ORDERING).
>
> This means that if ever anyone sets a PCIe bridge to relaxed ordering
> by
> default, this attribute will also work for them.

But that would be asking for trouble no ? I would expect pretty much
everything to break appart with relaxed by default no ? Or I don't fully
understand what your arch calls "relaxed"...

I do agree that we should aim for simple semantics, they should cover
99% of the needs, and leave some bit space or attribute space for archs
to define private ones when really needed.

In our case, I suspect that the two main thing we could define here for
DMA that would be useful generally would be relaxed ordering (strict
being the default) and maybe read prefetching (though that would be the
default, maybe no prefetch). We -might- have use of separating relaxed
ordering for read vs. writes, but that's pretty much it.

Cheers,
Ben.