mirror_ubuntu-kernels/drivers/infiniband/hw
Kaike Wan c2be3865a1 IB/hfi1: Calculate flow weight based on QP MTU for TID RDMA
For a TID RDMA WRITE request, a QP on the responder side could be put into
a queue when a hardware flow is not available. A RNR NAK will be returned
to the requester with a RNR timeout value based on the position of the QP
in the queue. The tid_rdma_flow_wt variable is used to calculate the
timeout value and is determined by using a MTU of 4096 at the module
loading time. This could reduce the timeout value by half from the desired
value, leading to excessive RNR retries.

This patch fixes the issue by calculating the flow weight with the real
MTU assigned to the QP.

Fixes: 07b923701e ("IB/hfi1: Add functions to receive TID RDMA WRITE request")
Link: https://lore.kernel.org/r/20191025195836.106825.77769.stgit@awfm-01.aw.intel.com
Cc: <stable@vger.kernel.org>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Kaike Wan <kaike.wan@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2019-11-06 13:15:36 -04:00
..
bnxt_re RDMA/bnxt_re: Fix spelling mistake "missin_resp" -> "missing_resp" 2019-09-16 10:58:57 -03:00
cxgb3 RDMA/{cxgb3, cxgb4, i40iw}: Remove common code 2019-08-12 10:19:43 -04:00
cxgb4 RDMA/iw_cxgb4: Avoid freeing skb twice in arp failure case 2019-10-28 14:13:33 -03:00
efa RDMA/efa: Fix incorrect error print 2019-09-16 14:25:43 -03:00
hfi1 IB/hfi1: Calculate flow weight based on QP MTU for TID RDMA 2019-11-06 13:15:36 -04:00
hns RDMA/hns: Prevent memory leaks of eq->buf_list 2019-10-28 15:06:38 -03:00
i40iw RDMA/i40iw: Associate ibdev to netdev before IB device registration 2019-10-04 14:29:14 -03:00
mlx4 Merge tag 'v5.3-rc8' into rdma.git for-next 2019-09-13 16:59:51 -03:00
mlx5 RDMA/mlx5: Use irq xarray locking for mkey_table 2019-10-28 14:08:48 -03:00
mthca IB: Remove unneeded memset 2019-07-03 14:26:49 -03:00
ocrdma RDMA: Introduce ib_port_phys_state enum 2019-08-12 10:18:52 -04:00
qedr RDMA/qedr: Fix reported firmware version 2019-10-18 14:50:14 -04:00
qib mm/gup: add make_dirty arg to put_user_pages_dirty_lock() 2019-09-24 15:54:08 -07:00
usnic mm/gup: add make_dirty arg to put_user_pages_dirty_lock() 2019-09-24 15:54:08 -07:00
vmw_pvrdma RDMA/vmw_pvrdma: Free SRQ only once 2019-10-01 10:47:58 -03:00
Makefile rdma: Remove nes 2019-06-13 09:59:49 -04:00