summaryrefslogtreecommitdiff
path: root/drivers/staging/rdma/hfi1/sdma.c
diff options
context:
space:
mode:
authorDean Luick <dean.luick@intel.com>2015-10-26 10:28:44 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-10-27 17:45:51 +0900
commitf4f30031c33cdff10c87d0a56ef575508ed7b54d (patch)
treee44c81de497867e1f02fe989e85a9bbabfe687a8 /drivers/staging/rdma/hfi1/sdma.c
parentb77d713a310b5c6eba13e9c394bcf0b085c4a49d (diff)
staging/rdma/hfi1: Thread the receive interrupt.
When under heavy load, the receive interrupt handler can run too long with IRQs disabled. Add a mixed-mode threading scheme. Initially process packets in the handler for quick responses (latency). If there are too many packets to process move to a thread to continue (bandwidth). Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: Dean Luick <dean.luick@intel.com> Signed-off-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/rdma/hfi1/sdma.c')
-rw-r--r--drivers/staging/rdma/hfi1/sdma.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/staging/rdma/hfi1/sdma.c b/drivers/staging/rdma/hfi1/sdma.c
index f372b6d00e9d..2a1da2189900 100644
--- a/drivers/staging/rdma/hfi1/sdma.c
+++ b/drivers/staging/rdma/hfi1/sdma.c
@@ -2096,9 +2096,9 @@ unlock_noconn:
tx->sn = sde->tail_sn++;
trace_hfi1_sdma_in_sn(sde, tx->sn);
#endif
- spin_lock_irqsave(&sde->flushlist_lock, flags);
+ spin_lock(&sde->flushlist_lock);
list_add_tail(&tx->list, &sde->flushlist);
- spin_unlock_irqrestore(&sde->flushlist_lock, flags);
+ spin_unlock(&sde->flushlist_lock);
if (wait) {
wait->tx_count++;
wait->count += tx->num_desc;