Skip to content

allow drivers to flush in-flight DMA

[email protected] lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 24 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3dma: introduce no-op stub "dma_flags_set_dmaflush"include/linux/dma-mapping.h+7 -00 replies
2/3dma: override "dma_flags_set_dmaflush" for sn-ia64arch/ia64/sn/pci/pci_dma.c include/asm-ia64/sn/io.h+52 -924 replies
3/3dma: use dma_flags_set_dmaflush in ib_umem_getdrivers/infiniband/core/umem.c drivers/infiniband/hw/amso1100/c2_provider.c drivers/infiniband/hw/cxgb3/iwch_provider.c +10 more+33 -150 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

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

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)

Signature · 1 line
Arthur