Re: [RFC PATCH] nvme: enable PCI P2PDMA support for RDMA transport

From: Shivaji Kant

Date: Wed Apr 01 2026 - 14:05:15 EST


Hi,
Thanks for the reviews.

On Wed, Apr 1, 2026 at 11:13 PM Pranjal Shrivastava <praan@xxxxxxxxxx> wrote:
>
> On Wed, Apr 01, 2026 at 04:17:06PM +0200, Christoph Hellwig wrote:
> > On Wed, Apr 01, 2026 at 10:34:41AM +0000, Shivaji Kant wrote:
> > > Enable BLK_FEAT_PCI_P2PDMA on the NVMe when the underlying
> > > RDMA controller supports it.
> > >
> > > blk_stack_limits() currently filters out this feature bit because it is
> > > absent from BLK_FEAT_INHERIT_MASK. Manually re-assert the capability
> > > in nvme_update_ns_info() after the stacking operation.
> >
> > This is really two different features/fixes and should be two patches.
> > Note that Chaitanya also has an outstanding patch about p2p on multipath,
> > so please work with him.
> >
>
> Ack.
> Shivaji, I believe this [1] is the patch Christoph's referring to.

Ack. Let me work with this.

>
> > > Hardware reachability remains enforced by late-stage distance checks
> > > during DMA mapping.
> >
> > I don't know what this is supposed to mean. Callers need to check the
> > reachability first before submitting P2P I/O.
> >
> > > +static bool nvme_rdma_supports_pci_p2pdma(struct nvme_ctrl *ctrl)
> > > +{
> > > + struct nvme_rdma_ctrl *r_ctrl = to_rdma_ctrl(ctrl);
> > > + bool supported = false;
> > > +
> > > + if (r_ctrl && r_ctrl->device)
> >
> > to_rdma_ctrl is a wrapper around container_of, so r_ctrl can't be
> > NULL for a non-NULL ctrl. ->device also should not NULL because it
> > is set up before namespaces are probed.
> >
> > > + supported = ib_dma_pci_p2p_dma_supported(r_ctrl->device->dev);
> > > +
> > > + dev_dbg(ctrl->device, "PCI P2PDMA support result: %s\n",
> > > + supported ? "PASSED" : "FAILED (HW/Driver restriction)");
> >
> > Overly long line, and screaming isn't really something we do in our
> > messages. We also don't do that debug message in PCI, so please just
> > drop it. IF you think this is important enough add a tracepoint in the
> > core code in a separate patch.
> >
>
> +1, we should drop the log and add a TP if necessary.

Sure, sounds good. will incorporate these changes in v2. thanks.

>
> Thanks,
> Praan
>
> [1] https://lore.kernel.org/all/20260323234416.46944-3-kch@xxxxxxxxxx/

Regards
Shivaji