linux/drivers/infiniband/sw/rdmavt
Kaike Wan a25ce4270b IB/rdmavt: Setting of QP timeout can overflow jiffies computation
Current computation of qp->timeout_jiffies in rvt_modify_qp() will cause
overflow due to the fact that the input to the function usecs_to_jiffies
is only 32-bit ( unsigned int). Overflow will occur when attr->timeout is
equal to or greater than 30. The consequence is unnecessarily excessive
retry and thus degradation of the system performance.

This patch fixes the problem by limiting the input to 5-bit and calling
usecs_to_jiffies() before multiplying the scaling factor.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Kaike Wan <kaike.wan@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2017-07-20 11:20:50 -04:00
..
ah.c IB/core: Use rdma_ah_attr accessor functions 2017-05-01 14:32:43 -04:00
ah.h IB/core: Rename struct ib_ah_attr to rdma_ah_attr 2017-05-01 14:32:43 -04:00
cq.c IB/rdmavt: Add tracing for cq entry and poll 2017-04-05 14:45:09 -04:00
cq.h IB/rdmavt: Fix copyright date 2016-03-10 20:37:27 -05:00
Kconfig IB/rxe, IB/rdmavt: Use dma_virt_ops instead of duplicating it 2017-01-24 12:31:32 -05:00
mad.c IB/core: Rename ib_destroy_ah to rdma_destroy_ah 2017-05-01 14:32:43 -04:00
mad.h IB/rdmavt: Clean up distinction between port number and index 2016-03-10 20:37:31 -05:00
Makefile This is a tree wide change and has been kept separate for that reason. 2017-02-25 13:45:43 -08:00
mcast.c IB/rdmavt/hfi1/qib: Use the MGID and MLID for multicast addressing 2017-04-28 13:48:01 -04:00
mcast.h IB/rdmavt: Fix copyright date 2016-03-10 20:37:27 -05:00
mmap.c infiniband: Fix alignment of mmap cookies to support VIPT caching 2017-03-24 16:50:51 -04:00
mmap.h IB/rdmavt: Remove unnecessary exported functions 2016-03-10 20:38:10 -05:00
mr.c IB: Replace ib_umem page_size by page_shift 2017-04-25 15:40:28 -04:00
mr.h IB/rdmavt: Add support for ib_map_mr_sg 2016-08-02 16:00:58 -04:00
pd.c IB/hfi1, rdmavt: Update copy_sge to use boolean arguments 2017-02-19 09:18:41 -05:00
pd.h IB/rdmavt: Fix copyright date 2016-03-10 20:37:27 -05:00
qp.c IB/rdmavt: Setting of QP timeout can overflow jiffies computation 2017-07-20 11:20:50 -04:00
qp.h IB/rdmavt: Fix copyright date 2016-03-10 20:37:27 -05:00
rc.c IB/hfi1, qib, rdmavt: Move AETH defines to rdma/ib_hdrs.h 2017-02-19 09:18:44 -05:00
srq.c IB/rdmavt: Remove unnecessary exported functions 2016-03-10 20:38:10 -05:00
srq.h IB/rdmavt: Add srq functionality to rdmavt 2016-03-10 20:37:30 -05:00
trace_cq.h IB/rdmavt: Add tracing for cq entry and poll 2017-04-05 14:45:09 -04:00
trace_mr.h IB/rdmavt: Add trace of MR segs 2016-12-11 15:29:42 -05:00
trace_qp.h IB/rdmavt: Fix trace hierarchy 2016-12-11 15:25:13 -05:00
trace_rc.h IB/rdmavt, IB/hfi1: Fix timer migration regressions 2017-04-05 14:45:09 -04:00
trace_rvt.h IB/rdmavt: Fix trace hierarchy 2016-12-11 15:25:13 -05:00
trace_tx.h IB/rdmavt: Add additional fields to post send trace 2017-04-05 14:45:09 -04:00
trace.c IB/rdmavt: Fix copyright date 2016-03-10 20:37:27 -05:00
trace.h IB/rdmavt, IB/hfi1: Fix timer migration regressions 2017-04-05 14:45:09 -04:00
vt.c This is a tree wide change and has been kept separate for that reason. 2017-02-25 13:45:43 -08:00
vt.h IB/rxe, IB/rdmavt: Use dma_virt_ops instead of duplicating it 2017-01-24 12:31:32 -05:00