linux-stable/drivers/infiniband
Mike Marciniszyn e20ec78652 IB/hfi1: Avoid hardlockup with flushlist_lock
commit cf131a8196 upstream.

Heavy contention of the sde flushlist_lock can cause hard lockups at
extreme scale when the flushing logic is under stress.

Mitigate by replacing the item at a time copy to the local list with
an O(1) list_splice_init() and using the high priority work queue to
do the flushes.

Ported to linux-4.9.y.

Fixes: 7724105686 ("IB/hfi1: add driver files")
Cc: <stable@vger.kernel.org>
Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-07-10 09:55:36 +02:00
..
core IB/core: Fix for core panic 2018-12-01 09:44:20 +01:00
hw IB/hfi1: Avoid hardlockup with flushlist_lock 2019-07-10 09:55:36 +02:00
sw IB/{qib, hfi1, rdmavt}: Correct ibv_devinfo max_mr value 2019-07-10 09:55:29 +02:00
ulp scsi: RDMA/srpt: Fix a credit leak for aborted commands 2019-05-08 07:19:11 +02:00
Kconfig RDMA/ucm: Mark UCM interface as BROKEN 2018-07-17 11:37:54 +02:00
Makefile IB/rdmavt: Create module framework and handle driver registration 2016-03-10 20:37:04 -05:00