Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f72d2f08 authored by Hoang-Nam Nguyen's avatar Hoang-Nam Nguyen Committed by Roland Dreier
Browse files

IB/ehca: Improve latency by unlocking after triggering the hardware



Kick the hardware before unlocking the send/receive queue to overlap
processing a little more.

Signed-off-by: default avatarJoachim Fenkes <fenkes@de.ibm.com>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 8705ce5b
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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;
}

@@ -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;
}