linux-mips
[Top] [All Lists]

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

To: "Kevin D. Kissell" <kevink@mips.com>
Subject: Re: [patch] linux 2.4.17: The second mb() rework (final)
From: Jason Gunthorpe <jgg@debian.org>
Date: Fri, 15 Feb 2002 12:00:00 -0700 (MST)
Cc: linux-mips@fnet.fr, linux-mips@oss.sgi.com
In-reply-to: <006e01c1b606$27b1b060$0deca8c0@Ulysses>
Sender: owner-linux-mips@oss.sgi.com
On Fri, 15 Feb 2002, 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.

Sorry, why? If the TX39 is the only processor in the system then write
buffers can be left alone. You can't consider PCI IO devices to be
processors because the bus protocols would never allow you to satisfy the
requirements for 'sync'.
 
IMHO the only time *mb should care about a write buffer is if the buffer
breaks PCI ordering semantics, by, say returning reads from posted write
data, re-ordering, etc.

Jason


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