[PATCH v3 1/4] nvmet-rdma: +1 to *queue_size from hsqsize/hrqsize

Sagi Grimberg sagi at grimberg.me
Wed Aug 17 11:36:57 PDT 2016


>>>  	/*
>>> -	 * req->hsqsize corresponds to our recv queue size
>>> -	 * req->hrqsize corresponds to our send queue size
>>> +	 * req->hsqsize corresponds to our recv queue size plus 1
>>> +	 * req->hrqsize corresponds to our send queue size plus 1
>>>  	 */
>>> -	queue->recv_queue_size = le16_to_cpu(req->hsqsize);
>>> -	queue->send_queue_size = le16_to_cpu(req->hrqsize);
>>> +	queue->recv_queue_size = le16_to_cpu(req->hsqsize) + 1;
>>> +	queue->send_queue_size = le16_to_cpu(req->hrqsize) + 1;
>>
>> I brought this up on the nvme-technical list and the consensus is
>> that hrqsize doesn't use the one off notation.  hsqsize refers to
>> the sqsize which is marked as "0's based", while hrqsize only
>> has a short and not very meaningful explanation, which implies that
>> it's '1's based' in NVMe terms (which, btw I think are utterly
>> misleading).
>
> OK, so what is the final verdict then?  Resurrect patch five again and
> resubmit the series?  It makes hrqsize 1-based on both the host and
> target.
> http://lists.infradead.org/pipermail/linux-nvme/2016-August/005804.html

I think you can just make the target take hrqsize as is in patch 1
and have the host send hrqsize = queue->queue_size.

One more respin should do it (sorry for the exhaustion ;))



More information about the Linux-nvme mailing list