[PATCH] nvmet: Avoid writing fabric_ops, queue pointers on every request.

Sagi Grimberg sagi at grimberg.me
Wed Feb 15 00:58:32 PST 2017


> Hi Sagi,

Hi Parav,

>> Sorry, I am still not getting it.
>> nvmet_rdma_rsp structure contains nvmet_req.
>> nvmet_rdma_rsp (and so nvmet_req) are per QP allocations.
>> cq and sq pointers are initialized inside nvmet_req.
>>
>> nvmet_rdma_cmd is per RQ/SRQ allocation.
>> When we do recv_done(), we bind rsp structure to cmd (cmd can be from RQ
>> or SRQ).
>> So I believe this is still good.
>> If we have cq and sq pointer inside the nvmet_rdma_cmd than I can
>> understand that it can break.
>>
>> On a side note: I tested the patch with use_srq flag (but didn't publish its
>> performance numbers as they awaiting your per core SRQ fixes to match
>> regular RQ numbers :-) ).

Yep, forgot that the sq/cq are referenced from the rsp which is
per-queue.

Christoph, James, can I get an ack from you guys?



More information about the Linux-nvme mailing list