[PATCHv2 0/7] blk dma iter for metadata
Keith Busch
kbusch at meta.com
Sun Jul 20 11:40:33 PDT 2025
From: Keith Busch <kbusch at kernel.org>
Here's a new take on the dma iteration for integrity requests.
The current code still has the integrity payloads subscribe to the
"virt_boundary" queue limit when considering merging and coalescing in
iova space. This is an unnecessary limit for nvme-pci metadata SGLs, and
it currently makes testing merges a bit difficult.
Changes since v1:
Provided a bunch of prep patches to make the current dma iteration
more generic to reduce code duplication with integrity metadata.
An nvme optimization for single or coalesced segments
Keith Busch (7):
blk-mq-dma: move the bio and bvec_iter to blk_dma_iter
blk-mq-dma: set the bvec being iterated
blk-mq-dma: require unmap caller provide p2p map type
blk-mq: remove REQ_P2PDMA flag
blk-mq-dma: move common dma start code to a helper
blk-mq-dma: add support for mapping integrity metadata
nvme: convert metadata mapping to dma iter
block/bio.c | 2 +-
block/blk-mq-dma.c | 173 ++++++++++++++++++++++------------
drivers/nvme/host/pci.c | 135 +++++++++++++-------------
include/linux/blk-integrity.h | 17 ++++
include/linux/blk-mq-dma.h | 10 +-
include/linux/blk_types.h | 1 -
6 files changed, 207 insertions(+), 131 deletions(-)
--
2.47.1
More information about the Linux-nvme
mailing list