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 Latest4 patches 6 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4dma: add dma_flags_set_dmaflush() to dma interfaceinclude/linux/dma-mapping.h+7 -02 replies
2/4dma: redefine dma_flags_set_dmaflush() for sn-ia64arch/ia64/sn/pci/pci_dma.c include/asm-ia64/sn/io.h+52 -90 replies
3/4dma: document dma_flags_set_dmaflush()Documentation/DMA-mapping.txt+24 -10 replies
4/4mthca: allow setting "dmaflush" attribute on user-allocated memorydrivers/infiniband/core/umem.c drivers/infiniband/hw/amso1100/c2_provider.c drivers/infiniband/hw/cxgb3/iwch_provider.c +10 more+32 -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/4] allow drivers to flush in-flight DMA

This is a followup to http://lkml.org/lkml/2007/8/24/280

Despite Grant's desire for a more elegant solution, there's not much new here. I moved the API change from pci.h to dma-mapping.h and removed the pci_ prefix from the name.

Problem Description
-------------------
On Altix, DMA may be reordered within the NUMA interconnect. This can be a problem with Infiniband, where DMA to Completion Queues allocated in user-space can race with data DMA. This patchset allows a driver to associate a user-space memory region with a "dmaflush" attribute, so that writes to the memory region flush in-flight DMA, preventing the CQ/data race.

There are four patches in this set:

[1/4] dma: add dma_flags_set_dmaflush() to dma interface [2/4] dma: redefine dma_flags_set_dmaflush() for sn-ia64 [3/4] dma: document dma_flags_set_dmaflush()
[4/4] mthca: allow setting "dmaflush" attribute on user-allocated memory