提交 f72d2f08 编写于 作者: H Hoang-Nam Nguyen 提交者: Roland Dreier

IB/ehca: Improve latency by unlocking after triggering the hardware

Kick the hardware before unlocking the send/receive queue to overlap
processing a little more.
Signed-off-by: NJoachim Fenkes <fenkes@de.ibm.com>
Signed-off-by: NRoland Dreier <rolandd@cisco.com>
上级 8705ce5b
...@@ -407,10 +407,9 @@ int ehca_post_send(struct ib_qp *qp, ...@@ -407,10 +407,9 @@ int ehca_post_send(struct ib_qp *qp,
} /* eof for cur_send_wr */ } /* eof for cur_send_wr */
post_send_exit0: post_send_exit0:
/* UNLOCK the QUEUE */
spin_unlock_irqrestore(&my_qp->spinlock_s, flags);
iosync(); /* serialize GAL register access */ iosync(); /* serialize GAL register access */
hipz_update_sqa(my_qp, wqe_cnt); hipz_update_sqa(my_qp, wqe_cnt);
spin_unlock_irqrestore(&my_qp->spinlock_s, flags);
return ret; return ret;
} }
...@@ -473,9 +472,9 @@ static int internal_post_recv(struct ehca_qp *my_qp, ...@@ -473,9 +472,9 @@ static int internal_post_recv(struct ehca_qp *my_qp,
} /* eof for cur_recv_wr */ } /* eof for cur_recv_wr */
post_recv_exit0: post_recv_exit0:
spin_unlock_irqrestore(&my_qp->spinlock_r, flags);
iosync(); /* serialize GAL register access */ iosync(); /* serialize GAL register access */
hipz_update_rqa(my_qp, wqe_cnt); hipz_update_rqa(my_qp, wqe_cnt);
spin_unlock_irqrestore(&my_qp->spinlock_r, flags);
return ret; return ret;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册