Re: [PATCH V3 0/2] md/nvme: Enable PCI P2PDMA support for RAID0 and NVMe Multipath

Pranjal Shrivastava <[email protected]>
Newsgroups gmane.linux.raid
Message-ID <[email protected]>
On Thu, Apr 16, 2026 at 02:26:30PM -0700, Chaitanya Kulkarni wrote:
> Hi,
> 
> This patch series extends PCI peer-to-peer DMA (P2PDMA) support to enable
> direct data transfers between PCIe devices through RAID and NVMe multipath
> block layers.
> 
> Current Linux kernel P2PDMA infrastructure supports direct peer-to-peer
> transfers, but this support is not propagated through certain storage
> stacks like MD RAID and NVMe multipath. This adds two patches for
> MD RAID 0/1/10 and NVMe to propogate P2PDMA support through the
> storage stack.
> 
> All four test scenarios demonstrate that P2PDMA capabilities are correctly
> propagated through both the MD RAID layer (patch 1/2) and NVMe multipath
> layer (patch 2/2). Direct peer-to-peer transfers complete successfully with
> full data integrity verification, confirming that:
> 
> 1. RAID devices properly inherit P2PDMA capability from member devices
> 2. NVMe multipath devices correctly expose P2PDMA support
> 3. P2P memory buffers can be used for transfers involving both types
> 4. Data integrity is maintained across all transfer combinations
> 
> I've added the patch specific tests and blktest log as well at the end.
> 
> Repo:-
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git
> 
> Branch HEAD:-
> 
> commit 88a57e15861997dd6fa98154ad087f7831bbead1 (origin/for-next)
> Merge: 81a0a2e4e535 36446de0c30c
> Author: Jens Axboe <[email protected]>
> Date:   Fri Apr 10 07:02:42 2026 -0600
> 
>     Merge branch 'for-7.1/block' into for-next
> 
>     * for-7.1/block:
>       ublk: fix tautological comparison warning in ublk_ctrl_reg_buf
> -ck
> 
> Changes from V2:-
> 
> 1. Unconditionally set the BLK_FEAT_PCI_P2PDMA for md and nvme multipath.
>    (Christoph)
> 2. Add a prep patch to diable BLK_FEAT_PCI_P2PDMA in the blk_stack_limit().
>    (christoph)
> 
> Changes from V1:-
> - Update patch 1 to explicitly support MD RAID 0/1/10.
> - Fix signoff chain order for patch 2.
> - Clear BLK_FEAT_PCI_P2PDMA in nvme_mpath_add_disk() when a newly
>   added path does not support it, to handle multipath across different
>   transports.
> - Add nvme multipath test log for mixed transport TCP and PCIe.
> 
> Chaitanya Kulkarni (1):
>   block: clear BLK_FEAT_PCI_P2PDMA in blk_stack_limits() for
>     non-supporting devices
> 
> Kiran Kumar Modukuri (2):
>   md: propagate BLK_FEAT_PCI_P2PDMA from member devices to RAID device
>   nvme-multipath: enable PCI P2PDMA for multipath devices
> 
>  block/blk-settings.c          | 2 ++
>  drivers/md/raid0.c            | 1 +
>  drivers/md/raid1.c            | 1 +
>  drivers/md/raid10.c           | 1 +
>  drivers/nvme/host/multipath.c | 2 +-
>  5 files changed, 6 insertions(+), 1 deletion(-)
> 

Tested with NVMe-oF (RDMA).

Tested=by: Pranjal Shrivastava <[email protected]>

Thanks,
Praan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.