aboutsummaryrefslogtreecommitdiff
path: root/include/linux/fpga/fpga-mgr.h
diff options
context:
space:
mode:
authorMike Marciniszyn <[email protected]>2017-04-09 10:16:35 -0700
committerDoug Ledford <[email protected]>2017-04-28 13:48:01 -0400
commitb6eac931b9bb2bce4db7032c35b41e5e34ec22a5 (patch)
tree9f6757a5a525248cb8ed496ad39ce8bad60c24da /include/linux/fpga/fpga-mgr.h
parent3d591099a0a2b45a50913130f0599ab838002fc3 (diff)
IB/hfi1: Prevent kernel QP post send hard lockups
The driver progress routines can call cond_resched() when a timeslice is exhausted and irqs are enabled. If the ULP had been holding a spin lock without disabling irqs and the post send directly called the progress routine, the cond_resched() could yield allowing another thread from the same ULP to deadlock on that same lock. Correct by replacing the current hfi1_do_send() calldown with a unique one for post send and adding an argument to hfi1_do_send() to indicate that the send engine is running in a thread. If the routine is not running in a thread, avoid calling cond_resched(). CC: <[email protected]> # 4.7.x- Fixes: Commit 831464ce4b74 ("IB/hfi1: Don't call cond_resched in atomic mode when sending packets") Reviewed-by: Dennis Dalessandro <[email protected]> Signed-off-by: Mike Marciniszyn <[email protected]> Signed-off-by: Dennis Dalessandro <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
Diffstat (limited to 'include/linux/fpga/fpga-mgr.h')
0 files changed, 0 insertions, 0 deletions