Re: [PATCH] Define wc_wmb, a write barrier for PCI write combining

From: Bryan O'Sullivan
Date: Sat Feb 25 2006 - 12:18:00 EST


On Sat, 2006-02-25 at 14:28 +0100, Andi Kleen wrote:

> It's still totally unclear how you can write portable write combining code.
>
> I think the basic idea is weird. You're basically writing something
> that doesn't follow the normal MMIO rules of Linux drivers and you're
> trying to do this portable, which won't work anyways because
> there is no portable way to do this.

This is definitely a problem. We have an x86-specific hack in our
driver that diddles the MTRRs to make sure that our MMIO space has write
combining enabled.

On other platforms, it looks like write combining, if supported at all,
is implemented in the northbridge. For those, I think we'd need to mark
the device's mapping as cacheable.

> Before we can add such a macro I suspect you would first
> need to provide some spec how that "portable write combining"
> is supposed to work and get feedback from the other architectures.
>
> Or keep it in architecture specific code, then the generic macro
> isn't needed.

OK, thanks for the feedback.

<b

--
Bryan O'Sullivan <bos@xxxxxxxxxxxxx>

-
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/