[Top] [All Lists]

Re: [patch] linux 2.4.17: The second mb() rework (final)

To: "Kevin D. Kissell" <>
Subject: Re: [patch] linux 2.4.17: The second mb() rework (final)
From: Ralf Baechle <>
Date: Fri, 15 Feb 2002 11:50:06 +0100
Cc: Atsushi Nemoto <>,,,,
In-reply-to: <006e01c1b606$27b1b060$0deca8c0@Ulysses>; from on Fri, Feb 15, 2002 at 09:30:45AM +0100
References: <><010601c1b3bd$1da618e0$0deca8c0@Ulysses><> <> <006e01c1b606$27b1b060$0deca8c0@Ulysses>
User-agent: Mutt/1.2.5i
On Fri, Feb 15, 2002 at 09:30:45AM +0100, Kevin D. Kissell wrote:

> That is, I would say, a bug in the TX39 implementation of SYNC.
> The specification is states that all stores prior to the SYNC must 
> complete before any memory ops after the sync, and that the 
> definition of a store completing is that all stored values be 
> "visible to every other processor in the system", which pretty 
> clearly implies that the write buffers must be flushed.

In practice sync just isn't good enough.  Most systems these days use
an I/O bus like PCI which uses posted writes or have some other
non-strongly ordered memory model.  Which is why something wmb() or
mb() aren't good enough in driver.  I'm just having a nice discussion
about this topic with SGI's IA64 people; we have to come up with a
portable and efficient ABI.


<Prev in Thread] Current Thread [Next in Thread>