Skip to content

Commit

Permalink
IB/ehca: Improve latency by unlocking after triggering the hardware
Browse files Browse the repository at this point in the history
Kick the hardware before unlocking the send/receive queue to overlap
processing a little more.

Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
  • Loading branch information
Hoang-Nam Nguyen authored and Roland Dreier committed Jul 10, 2007
1 parent 8705ce5 commit f72d2f0
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions drivers/infiniband/hw/ehca/ehca_reqs.c
Original file line number Diff line number Diff line change
Expand Up @@ -407,10 +407,9 @@ int ehca_post_send(struct ib_qp *qp,
} /* eof for cur_send_wr */

post_send_exit0:
/* UNLOCK the QUEUE */
spin_unlock_irqrestore(&my_qp->spinlock_s, flags);
iosync(); /* serialize GAL register access */
hipz_update_sqa(my_qp, wqe_cnt);
spin_unlock_irqrestore(&my_qp->spinlock_s, flags);
return ret;
}

Expand Down Expand Up @@ -473,9 +472,9 @@ static int internal_post_recv(struct ehca_qp *my_qp,
} /* eof for cur_recv_wr */

post_recv_exit0:
spin_unlock_irqrestore(&my_qp->spinlock_r, flags);
iosync(); /* serialize GAL register access */
hipz_update_rqa(my_qp, wqe_cnt);
spin_unlock_irqrestore(&my_qp->spinlock_r, flags);
return ret;
}

Expand Down

0 comments on commit f72d2f0

Please sign in to comment.