mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 15:54:15 +08:00
RDMA/hns: Avoid unnecessary memset on WQEs in post_send
All fields of WQE will be rewrote, so the memset is unnecessary. And when SQ is working in OWNER mode, the pipeline may prefetch the WQEs beyond PI, the memset operation may flip the owner bit too early, then the pipeline may get a wrong WQ. Link: https://lore.kernel.org/r/1612517974-31867-11-git-send-email-liweihang@huawei.com Signed-off-by: Lang Cheng <chenglang@huawei.com> Signed-off-by: Weihang Li <liweihang@huawei.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
993703370a
commit
62490fd5a8
@ -469,7 +469,6 @@ static inline int set_ud_wqe(struct hns_roce_qp *qp,
|
|||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
valid_num_sge = calc_wr_sge_num(wr, &msg_len);
|
valid_num_sge = calc_wr_sge_num(wr, &msg_len);
|
||||||
memset(ud_sq_wqe, 0, sizeof(*ud_sq_wqe));
|
|
||||||
|
|
||||||
ret = set_ud_opcode(ud_sq_wqe, wr);
|
ret = set_ud_opcode(ud_sq_wqe, wr);
|
||||||
if (WARN_ON(ret))
|
if (WARN_ON(ret))
|
||||||
@ -575,7 +574,6 @@ static inline int set_rc_wqe(struct hns_roce_qp *qp,
|
|||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
valid_num_sge = calc_wr_sge_num(wr, &msg_len);
|
valid_num_sge = calc_wr_sge_num(wr, &msg_len);
|
||||||
memset(rc_sq_wqe, 0, sizeof(*rc_sq_wqe));
|
|
||||||
|
|
||||||
rc_sq_wqe->msg_len = cpu_to_le32(msg_len);
|
rc_sq_wqe->msg_len = cpu_to_le32(msg_len);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user