[PATCH v2] nvme-rdma: parallelize I/O queue allocation and startup

Surabhi Gogte (she/her) sgogte at purestorage.com
Thu Jun 25 14:04:26 PDT 2026


On Wed, Jun 10, 2026 at 5:05 AM Christoph Hellwig <hch at lst.de> wrote:
>
> On Thu, Jun 04, 2026 at 01:53:21PM -0600, Surabhi Gogte wrote:
> > +static void nvme_rdma_setup_queue_async(void *setup_queue, async_cookie_t cookie)
>
> Overly long line.  Easily fixed by renaming setup_queue to data
> as in the async_schedule_domain prototype.
>
done.

> > +static int nvme_rdma_setup_io_queues(struct nvme_rdma_ctrl *ctrl, int first,
> > +                                  int last, size_t queue_size)
>
> should first and last be unsigned?
>
> Also please use two-tab indents for prototype continuations.
>
converted to unsigned int. yeah using 2-tab indents in v3.

> > +     async_synchronize_full_domain(&setup_queue_domain);
> >
> > -out_free_queues:
> > -     for (i--; i >= 1; i--)
> > -             nvme_rdma_free_queue(&ctrl->queues[i]);
> > +     ret = atomic_read(&ctrl->qsetup_err);
> > +     if (ret) {
>
> Jump to an error label if there was an error to reduce indentation
> a bit below.
>
done.
> > +     ctrl->queues[0].ctrl = ctrl;
> > +     ctrl->queues[0].queue_size = NVME_AQ_DEPTH;
> > +     error = nvme_rdma_alloc_queue(&ctrl->queues[0]);
>
> The nvme_rdma_alloc_queue prototype change would be a nice prep patch
> to split out from the main change.
>
done. Separated the patches in v3.



More information about the Linux-nvme mailing list