mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 21:02:19 +00:00
IB/srpt: Cache global L_Key
This patch is a micro-optimization for the hot path. Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
7a01d05cd5
commit
74333f1223
@ -766,7 +766,7 @@ static int srpt_post_recv(struct srpt_device *sdev,
|
||||
BUG_ON(!sdev);
|
||||
list.addr = ioctx->ioctx.dma;
|
||||
list.length = srp_max_req_size;
|
||||
list.lkey = sdev->pd->local_dma_lkey;
|
||||
list.lkey = sdev->lkey;
|
||||
|
||||
ioctx->ioctx.cqe.done = srpt_recv_done;
|
||||
wr.wr_cqe = &ioctx->ioctx.cqe;
|
||||
@ -2343,7 +2343,7 @@ static void srpt_queue_response(struct se_cmd *cmd)
|
||||
|
||||
sge.addr = ioctx->ioctx.dma;
|
||||
sge.length = resp_len;
|
||||
sge.lkey = sdev->pd->local_dma_lkey;
|
||||
sge.lkey = sdev->lkey;
|
||||
|
||||
ioctx->ioctx.cqe.done = srpt_send_done;
|
||||
send_wr.next = NULL;
|
||||
@ -2491,6 +2491,8 @@ static void srpt_add_one(struct ib_device *device)
|
||||
if (IS_ERR(sdev->pd))
|
||||
goto free_dev;
|
||||
|
||||
sdev->lkey = sdev->pd->local_dma_lkey;
|
||||
|
||||
sdev->srq_size = min(srpt_srq_size, sdev->device->attrs.max_srq_wr);
|
||||
|
||||
srq_attr.event_handler = srpt_srq_event;
|
||||
|
@ -343,7 +343,7 @@ struct srpt_port {
|
||||
* struct srpt_device - Information associated by SRPT with a single HCA.
|
||||
* @device: Backpointer to the struct ib_device managed by the IB core.
|
||||
* @pd: IB protection domain.
|
||||
* @mr: L_Key (local key) with write access to all local memory.
|
||||
* @lkey: L_Key (local key) with write access to all local memory.
|
||||
* @srq: Per-HCA SRQ (shared receive queue).
|
||||
* @cm_id: Connection identifier.
|
||||
* @srq_size: SRQ size.
|
||||
@ -358,6 +358,7 @@ struct srpt_port {
|
||||
struct srpt_device {
|
||||
struct ib_device *device;
|
||||
struct ib_pd *pd;
|
||||
u32 lkey;
|
||||
struct ib_srq *srq;
|
||||
struct ib_cm_id *cm_id;
|
||||
int srq_size;
|
||||
|
Loading…
Reference in New Issue
Block a user