[PATCH 0/3] allow drivers to flush in-flight DMA

From: akepner
Date: Fri Aug 17 2007 - 20:28:53 EST



Altix supports "posted DMA", so that DMA may complete out
of order. In some cases it's necessary for a driver to
ensure that in-flight DMA has been flushed to memory for
correct operation.

In particular this can be a problem with Infiniband, where
writes to Completion Queues can race with DMA of data.

The following patchset addresses this problem by allowing a
memory region to be mapped with a "barrier" attribute. (On
Altix, writes to memory regions with the barrier attribute
have the side effect that in-flight DMA gets flushed to host
memory.)

There are three patches in this set:

[1/3] dma: introduce no-op stub "dma_flags_set_dmaflush"
[2/3] dma: override "dma_flags_set_dmaflush" for sn-ia64
[3/3] dma: use dma_flags_set_dmaflush in ib_umem_get
(mthca only, for now)

--
Arthur

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/