Thread (26 messages) 26 messages, 7 authors, 2002-02-22

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

flat view

From: Jason Gunthorpe <hidden>
Date: 2002-02-15 20:00:07

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help