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

From: Christoph Hellwig

Date: Wed Jun 10 2026 - 08:12:35 EST


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.

> +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.

> + 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.

> + 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.