linux/drivers/infiniband/hw
Mitko Haralanov 9636258f10 IB/hfi1: Remove dependence on qp->s_hdrwords
The s_hdrwords variable was used to indicate whether a
packet was already built on a previous iteration of the
send engine. This variable assumed the protection of the
QP's RVT_S_BUSY flag, which was required since the the
QP's s_lock was dropped just prior to the packet being
queued on the one of the egress mechanisms.

Support for multiple send engine instantiations require
that the field not be used due to concurency issues.
The ps.txreq signals the "already built" without the
potential concurency issues.

Fix by getting rid of all s_hdrword usage.   A wrapper
is added to test for the already built case that used to
use s_hdrwords.

What used to be stored in s_hdrwords is now in the txreq.
The PBC is not counted, but is added in the pio/sdma code
paths prior to posting the packet.

Reviewed-by: Don Hiatt <don.hiatt@intel.com>
Signed-off-by: Mitko Haralanov <mitko.haralanov@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2018-02-01 15:24:32 -07:00
..
bnxt_re RDMA/bnxt_re: Use common error handling code in bnxt_qplib_alloc_dpi_tbl() 2018-02-01 15:24:31 -07:00
cxgb3 Updates for 4.15 kernel merge window 2017-11-15 14:54:53 -08:00
cxgb4 iw_cxgb4: Change error/warn prints to pr_debug 2017-12-29 11:09:23 -07:00
hfi1 IB/hfi1: Remove dependence on qp->s_hdrwords 2018-02-01 15:24:32 -07:00
hns RDMA/hns: Fix misplaced call to hns_roce_cleanup_hem_table 2018-02-01 15:24:32 -07:00
i40iw i40iw: Free IEQ resources 2018-01-16 20:38:18 -07:00
mlx4 RDMA: Move enum ib_cq_creation_flags to uapi headers 2018-01-29 12:58:34 -07:00
mlx5 Linux 4.15 2018-01-30 09:30:00 -07:00
mthca IB/mthca: remove mthca_user.h 2018-01-28 14:07:16 -07:00
nes nes: Change accelerated flag to bool 2017-12-22 13:33:30 -07:00
ocrdma IB/ocrdma: Use zeroing memory allocator than allocator/memset 2018-01-02 11:20:13 -07:00
qedr RDMA/qedr: lower print level of flushed CQEs 2018-01-25 10:58:36 -05:00
qib IB/qib: remove qib_keys.c 2018-01-28 14:07:16 -07:00
usnic drivers: infiniband: remove duplicate includes 2017-12-22 09:39:35 -07:00
vmw_pvrdma RDMA/vmw_pvrdma: Use zeroing memory allocator than allocator/memset 2018-01-02 11:20:13 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00