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

From: Benjamin LaHaise
Date: Wed Mar 01 2006 - 15:29:30 EST


On Wed, Mar 01, 2006 at 12:05:07PM -0800, Bryan O'Sullivan wrote:
> This section also makes it clear yet again that wmb() is absolutely not
> sufficient to get program store order semantics in the presence of WC;
> you *have* to use an explicit synchronising instruction of some kind.

The semantics your code seems to care about are not those of a memory
barrier (which deals with ordering), but of a flush of the write combining
buffers. That's an important high level distinction as they are implemented
differently across architectures. Please rename the macro something like
flush_wc() and document it as such, at which point I remove my objection.

-ben
--
"Ladies and gentlemen, I'm sorry to interrupt, but the police are here
and they've asked us to stop the party." Don't Email: <dont@xxxxxxxxx>.
-
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/