diff options
author | Mike Marciniszyn <mike.marciniszyn@intel.com> | 2015-11-10 09:14:01 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-11-19 16:58:18 -0800 |
commit | 7c091e5c0685c463dc58e5115781f7ac0a1448d6 (patch) | |
tree | 28ad8ba2a9087a36e998684768e1cb6c08536b3e /drivers/staging/rdma/hfi1/qp.c | |
parent | staging/rdma/hfi1: add common routine for queuing acks (diff) | |
download | linux-dev-7c091e5c0685c463dc58e5115781f7ac0a1448d6.tar.xz linux-dev-7c091e5c0685c463dc58e5115781f7ac0a1448d6.zip |
staging/rdma/hfi1: add ACK coalescing logic
Implement ACK coalesing logic using a 8 bit counter.
The algorithm is send pio ack when:
- fecn present
- this is the first packet in an interrupt session
- counter is >= HFI1_PSN_CREDIT
Otherwise the ack is defered.
Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/rdma/hfi1/qp.c')
-rw-r--r-- | drivers/staging/rdma/hfi1/qp.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/staging/rdma/hfi1/qp.c b/drivers/staging/rdma/hfi1/qp.c index d37c4a77d1d8..ce036810d576 100644 --- a/drivers/staging/rdma/hfi1/qp.c +++ b/drivers/staging/rdma/hfi1/qp.c @@ -378,6 +378,7 @@ static void reset_qp(struct hfi1_qp *qp, enum ib_qp_type type) } qp->s_ack_state = IB_OPCODE_RC_ACKNOWLEDGE; qp->r_nak_state = 0; + qp->r_adefered = 0; qp->r_aflags = 0; qp->r_flags = 0; qp->s_head = 0; |