[PATCH] nvmet: Avoid writing fabric_ops, queue pointers on every request.
Sagi Grimberg
sagi at grimberg.me
Wed Feb 8 02:13:20 PST 2017
On 08/02/17 00:37, Parav Pandit wrote:
> Fabric operations are constants of a registered transport. They don't
> change with every target request that gets processed by the nvmet-core.
> Therefore this patch moves fabrics_ops initialization out of the hot
> request processing path for rdma and fc.
> It continues to remain in same way for loop target through extra API.
Can't you add it to nvme_loop_init_iod()?
> Additionally this patch further avoid nvme cq and sq pointer
> initialization for every request during every request processing
> for rdma because nvme queue linking occurs during queue allocation
> time for AQ and IOQ.
This breaks SRQ mode where every nvmet_rdma_cmd serves different
queues in it's lifetime..
More information about the Linux-nvme
mailing list