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: Wednesday, August 22, 2007 - 11:54 am

On Tue, Aug 21, 2007 at 08:14:09PM -0500, James Bottomley wrote:

No, this is different. 

This problem here has do with ordering writes from the device 
to host memory. Specifically this problem can be manifested with 
Infiniband - when a Completion Queue Entry is written by the IB 
device, it indicates that data is available in host memory. But 
the write to the Completion Queue can race with DMA of data. 

(Completion Queues can be allocated by the kernel or in userspace. 
The race described above can only happen when they are allocated 
in userspace - kernel allocations of CQs use dma_alloc_coherent() 
and so get the "barrier" attribute that's needed to prevent the 
race. The proposed new interface would allow CQs, or anything else, 
allocated with plain old malloc(), to set the barrier attribute.)

-- 
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..., , (Wed Aug 22, 11:54 am)