mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 09:02:00 +00:00
RDMA/cxgb3: Remove modulo math from build_rdma_recv()
Remove modulo usage to avoid a divide in the fast path (not all gcc versions do strength reduction here). Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
42fb61f02f
commit
4263289630
@ -263,8 +263,8 @@ static int build_rdma_recv(struct iwch_qp *qhp, union t3_wr *wqe,
|
|||||||
wqe->recv.sgl[i].len = cpu_to_be32(wr->sg_list[i].length);
|
wqe->recv.sgl[i].len = cpu_to_be32(wr->sg_list[i].length);
|
||||||
|
|
||||||
/* to in the WQE == the offset into the page */
|
/* to in the WQE == the offset into the page */
|
||||||
wqe->recv.sgl[i].to = cpu_to_be64(((u32) wr->sg_list[i].addr) %
|
wqe->recv.sgl[i].to = cpu_to_be64(((u32)wr->sg_list[i].addr) &
|
||||||
(1UL << (12 + page_size[i])));
|
((1UL << (12 + page_size[i])) - 1));
|
||||||
|
|
||||||
/* pbl_addr is the adapters address in the PBL */
|
/* pbl_addr is the adapters address in the PBL */
|
||||||
wqe->recv.pbl_addr[i] = cpu_to_be32(pbl_addr[i]);
|
wqe->recv.pbl_addr[i] = cpu_to_be32(pbl_addr[i]);
|
||||||
|
Loading…
Reference in New Issue
Block a user