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

Christoph Hellwig hch at lst.de
Wed Jun 10 05:04:58 PDT 2026


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.




More information about the Linux-nvme mailing list