]> asedeno.scripts.mit.edu Git - linux.git/commit
IB/hfi1: Avoid hardlockup with flushlist_lock
authorMike Marciniszyn <mike.marciniszyn@intel.com>
Fri, 14 Jun 2019 16:32:26 +0000 (12:32 -0400)
committerDoug Ledford <dledford@redhat.com>
Tue, 18 Jun 2019 01:15:40 +0000 (21:15 -0400)
commitcf131a81967583ae737df6383a0893b9fee75b4e
tree8ebb349f62700de5878a2919070031878de90f50
parentcc78076af14e1478c1a8fb18997674b5f8cbe3c8
IB/hfi1: Avoid hardlockup with flushlist_lock

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.

Fixes: 7724105686e7 ("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>
drivers/infiniband/hw/hfi1/sdma.c