linux/drivers/infiniband/hw
Jianxin Xiong 14833b8c52 IB/hfi1: Improve SDMA engine assignment for user SDMA
Currently each user context is assigned a single SDMA engine
based on the VL, context id, and subcontext id. That means for
MPI applications, each rank can only use one SDMA engine for
all messages. This may create unwanted backup for independent
messages going to different destinations upon congestion at one
destination.

This patch adds the packet "dlid" to the formula of SDMA engine
selection for user SDMA requests. A simple hash table is used
to maintain even distribution among the available SDMA engines
regardless how the "dlid" values are distributed.

Reviewed-by: Dean Luick <dean.luick@intel.com>
Reviewed-by: Tadeusz Struk <tadeusz.struk@intel.com>
Signed-off-by: Jianxin Xiong <jianxin.xiong@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2016-08-02 15:47:43 -04:00
..
cxgb3 Round two of 4.7 merge window patches 2016-05-28 11:04:16 -07:00
cxgb4 IB/core: Make device counter infrastructure dynamic 2016-05-26 12:52:51 -04:00
hfi1 IB/hfi1: Improve SDMA engine assignment for user SDMA 2016-08-02 15:47:43 -04:00
i40iw i40iw: Enable remote access rights for stag allocation 2016-07-12 10:46:34 -04:00
mlx4 Merge branches '4.7-rc-misc', 'hfi1-fixes', 'i40iw-rc-fixes' and 'mellanox-rc-fixes' into k.o/for-4.7-rc 2016-06-23 12:22:33 -04:00
mlx5 IB/mlx5: Fix wrong naming of port_rcv_data counter 2016-06-23 10:03:57 -04:00
mthca mm/gup: Switch all callers of get_user_pages() to not pass tsk/mm 2016-02-16 10:11:12 +01:00
nes Primary 4.7 merge window changes 2016-05-20 14:35:07 -07:00
ocrdma IB/core: Enhance ib_map_mr_sg() 2016-05-13 13:37:57 -04:00
qib IB/qib: Prevent context loss 2016-06-17 20:11:26 -04:00
usnic IB/usnic: Remove unused DMA attributes 2016-06-06 19:28:06 -04:00
Makefile IB/hfi1: Move driver out of staging 2016-05-26 11:35:14 -04:00