Skip to content

RFC Block and NMMe PCI use of new DMA mapping API

Leon Romanovsky kvm linux-block linux-doc linux-iommu linux-mm linux-nvme linux-pci linux-rdma lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest7 patches 9 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7block: share more code for bio addition helpersblock/bio.c+51 -632 replies
2/7block: don't merge different kinds of P2P transfers in a single bioblock/bio.c block/blk-map.c include/linux/blk_types.h+55 -157 replies
3/7blk-mq: add a dma mapping iteratorblock/blk-merge.c+77 -1050 replies
4/7blk-mq: add scatterlist-less DMA mapping helpersblock/blk-merge.c include/linux/blk-mq-dma.h+227 -00 replies
5/7nvme-pci: remove struct nvme_descriptordrivers/nvme/host/pci.c+22 -290 replies
6/7nvme-pci: use a better encoding for small prp pool allocationsdrivers/nvme/host/pci.c+40 -450 replies
7/7nvme-pci: convert to blk_rq_dma_mapdrivers/nvme/host/pci.c+205 -1770 replies

Reviews trailers per patch

1 of 7 patches has a Reviewed-by or Acked-by.

PatchLogan Gunthorpe
1/7
2/7R-b
3/7
4/7
5/7
6/7
7/7

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [RFC PATCH 0/7] Block and NMMe PCI use of new DMA mapping API

This is complimentary patchset to the series which adds new DMA mapping API [1].

In this series, Christoph converts existing nvme-pci driver to use new API, which is wrapped by relevant blk-mq helpers, so future blk drivers can reuse them in block layer specific structures.

This is posted as RFC as it is under heavy testing now, and presented here to get feedback from the community and show another advanced use case of the new API.

Thanks

[1] https://lore.kernel.org/all/[email protected]

Christoph Hellwig (7):
block: share more code for bio addition helpers
block: don't merge different kinds of P2P transfers in a single bio
blk-mq: add a dma mapping iterator
blk-mq: add scatterlist-less DMA mapping helpers
nvme-pci: remove struct nvme_descriptor
nvme-pci: use a better encoding for small prp pool allocations
nvme-pci: convert to blk_rq_dma_map

 block/bio.c                | 148 ++++++------
 block/blk-map.c            |  32 ++-
 block/blk-merge.c          | 313 +++++++++++++++++-------
 drivers/nvme/host/pci.c    | 470 +++++++++++++++++++------------------
 include/linux/blk-mq-dma.h |  64 +++++
 include/linux/blk_types.h  |   2 +
 6 files changed, 636 insertions(+), 393 deletions(-)
 create mode 100644 include/linux/blk-mq-dma.h
Signature · 1 line
2.46.2