Re: [PATCH 2/3] dma: override "dma_flags_set_dmaflush" for sn-ia64

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <akepner@...>
Cc: Jes Sorensen <jes@...>, linux-kernel <linux-kernel@...>, <rdreier@...>, linux-ia64 <linux-ia64@...>
Date: Tuesday, August 21, 2007 - 4:16 pm

On Tue, Aug 21, 2007 at 12:35:22PM -0700, akepner@sgi.com wrote:

So, let me try to understand ... your hardware allows writes from the
device to pass other writes from the device?  Doesn't that violate the
PCI spec?  I'm thinking about this (page 43 of PCI 2.3):

  Posted memory writes moving in the same direction through a bridge
  will complete on the destination bus in the same order they complete
  on the originating bus. Even if a single burst on the originating bus
  is terminated with Disconnect on the destination bus so that it is
  broken into multiple transactions, those transactions must not allow
  the data phases to complete on the destination bus in any order other
  than their order on the originating bus.


So any device driver used on your hardware has to add a call to this new
function, or it'll see data corruption?  Not acceptable, IMO.

If this is a performance optimisation, then by all means add a function
drivers can call to say "it's OK, I know about this brokenness, and I
don't depend on it", but safety first.

-- 
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH 2/3] dma: override "dma_flags_set_dmaflush" for s..., Matthew Wilcox, (Tue Aug 21, 4:16 pm)