RDMA/srp: Make struct scsi_cmnd and struct srp_request adjacent
[ Upstream commit ad215aae ] Define .init_cmd_priv and .exit_cmd_priv callback functions in struct scsi_host_template. Set .cmd_size such that the SCSI core allocates per-command private data. Use scsi_cmd_priv() to access that private data. Remove the req_ring pointer from struct srp_rdma_ch since it is no longer necessary. Convert srp_alloc_req_data() and srp_free_req_data() into functions that initialize one instance of the SRP-private command data. This is a micro-optimization since this patch removes several pointer dereferences from the hot path. Note: due to commit e73a5e8e ("scsi: core: Only return started requests from scsi_host_find_tag()"), it is no longer necessary to protect the completion path against duplicate responses. Link: https://lore.kernel.org/r/20210524041211.9480-6-bvanassche@acm.org Signed-off-by:Bart Van Assche <bvanassche@acm.org> Signed-off-by:
Jason Gunthorpe <jgg@nvidia.com> Stable-dep-of: e193b795 ("RDMA/srp: Do not call scsi_done() from srp_abort()") Signed-off-by:
Sasha Levin <sashal@kernel.org>
Loading
Please sign in to comment