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: James Bottomley <James.Bottomley@...>
Cc: Randy Dunlap <randy.dunlap@...>, Jes Sorensen <jes@...>, linux-kernel <linux-kernel@...>, <rdreier@...>, linux-ia64 <linux-ia64@...>
Date: Tuesday, August 21, 2007 - 8:34 pm

On Tue, Aug 21, 2007 at 03:55:29PM -0500, James Bottomley wrote:


The term "posted DMA" is used to describe this behavior in the Altix 
Device Driver Writer's Guide, but it may be confusing things here. 
Maybe a better term will suggest itself if I can clarify....

On Altix, DMA from a device isn't guaranteed to arrive in host memory 
in the order it was sent from the device. This reordering can happen 
in the NUMA interconnect (it's specifically not a PCI reordering.)


Clearly it wasn't described adequately...

A read transaction on the device will flush pending writes to the 
device. But I'm worried about DMA from the device to host memory. 
On Altix, there are two mechanisms that flush all in-flight DMA 
to host memory: 1) an interrupt, and 2) a write to a memory region 
which has a "barrier" attribute set. Obviously option 1 isn't 
viable for performance reasons. This new interface is about making 
"option 2" generally available. (As it is now, the only way to get 
memory with the "barrier" attribute is to allocate it with 
dma_alloc_coherent().)

-- 
Arthur

-
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..., , (Tue Aug 21, 8:34 pm)