On 16.03.2026 20:06, Leon Romanovsky wrote: > Add a new DMA_ATTR_REQUIRE_COHERENT attribute to the DMA API to mark > mappings that must run on a DMA‑coherent system. Such buffers cannot > use the SWIOTLB path, may overlap with CPU caches, and do not depend on > explicit cache flushing. > > Mappings using this attribute are rejected on systems where cache > side‑effects could lead to data corruption, and therefore do not need > the cache‑overlap debugging logic. This series also includes fixes for > DMA_ATTR_CPU_CACHE_CLEAN handling. > Thanks. > > Signed-off-by: Leon Romanovsky <[email protected]>
Applied to dma-mapping-fixes. Thanks! > --- > Changes in v3: > - Enriched commit messages and documentation > - Added ROB tags > - Link to v2: > https://protect2.fireeye.com/v1/url?k=9c1ba148-fd90b40f-9c1a2a07-000babff99aa-86ebd022a97425b3&q=1&e=3c8e10cc-4c34-4bf6-aa9d-c339877d6a27&u=https%3A%2F%2Fpatch.msgid.link%2F20260311-dma-debug-overlap-v2-0-e00bc2ca346d%40nvidia.com > > Changes in v2: > - Added DMA_ATTR_REQUIRE_COHERENT attribute > - Added HMM patch which needs this attribute as well > - Renamed DMA_ATTR_CPU_CACHE_CLEAN to be DMA_ATTR_DEBUGGING_IGNORE_CACHELINES > - Link to v1: > https://protect2.fireeye.com/v1/url?k=cc0590de-ad8e8599-cc041b91-000babff99aa-07e4da206b7e0d97&q=1&e=3c8e10cc-4c34-4bf6-aa9d-c339877d6a27&u=https%3A%2F%2Fpatch.msgid.link%2F20260307-dma-debug-overlap-v1-0-c034c38872af%40nvidia.com > > --- > Leon Romanovsky (8): > dma-debug: Allow multiple invocations of overlapping entries > dma-mapping: handle DMA_ATTR_CPU_CACHE_CLEAN in trace output > dma-mapping: Clarify valid conditions for CPU cache line overlap > dma-mapping: Introduce DMA require coherency attribute > dma-direct: prevent SWIOTLB path when DMA_ATTR_REQUIRE_COHERENT is set > iommu/dma: add support for DMA_ATTR_REQUIRE_COHERENT attribute > RDMA/umem: Tell DMA mapping that UMEM requires coherency > mm/hmm: Indicate that HMM requires DMA coherency > > Documentation/core-api/dma-attributes.rst | 38 > ++++++++++++++++++++++++------- > drivers/infiniband/core/umem.c | 5 ++-- > drivers/iommu/dma-iommu.c | 21 +++++++++++++---- > drivers/virtio/virtio_ring.c | 10 ++++---- > include/linux/dma-mapping.h | 15 ++++++++---- > include/trace/events/dma.h | 4 +++- > kernel/dma/debug.c | 9 ++++---- > kernel/dma/direct.h | 7 +++--- > kernel/dma/mapping.c | 6 +++++ > mm/hmm.c | 4 ++-- > 10 files changed, 86 insertions(+), 33 deletions(-) > --- > base-commit: 11439c4635edd669ae435eec308f4ab8a0804808 > change-id: 20260305-dma-debug-overlap-21487c3fa02c > > Best regards, > -- > Leon Romanovsky <[email protected]> > > Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland
