From: Eldad Zinger Date: Tue, 28 Sep 2010 11:32:38 +0000 (+0200) Subject: sdp: postpone rx timer when arming rx_cq X-Git-Tag: v4.1.12-92~264^2~5^2~99 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=316b8c82f29de0d038133e0ff95e398f75ca59b6;p=users%2Fjedix%2Flinux-maple.git sdp: postpone rx timer when arming rx_cq Signed-off-by: Eldad Zinger --- diff --git a/drivers/infiniband/ulp/sdp/sdp.h b/drivers/infiniband/ulp/sdp/sdp.h index 598a1d5f208a0..99848cf5ea1d4 100644 --- a/drivers/infiniband/ulp/sdp/sdp.h +++ b/drivers/infiniband/ulp/sdp/sdp.h @@ -802,6 +802,12 @@ static inline void sdp_cleanup_sdp_buf(struct sdp_sock *ssk, struct sdp_buf *sbu } } +static inline void sdp_postpone_rx_timer(struct sdp_sock *ssk) +{ + if (timer_pending(&ssk->rx_ring.cq_arm_timer) && ssk->qp_active) + mod_timer(&ssk->rx_ring.cq_arm_timer, MAX_JIFFY_OFFSET); +} + static inline void sdp_arm_rx_cq(struct sock *sk) { if (unlikely(!sdp_sk(sk)->rx_ring.cq)) @@ -810,6 +816,8 @@ static inline void sdp_arm_rx_cq(struct sock *sk) SDPSTATS_COUNTER_INC(rx_int_arm); sdp_dbg_data(sk, "Arming RX cq\n"); + sdp_postpone_rx_timer(sdp_sk(sk)); + if (unlikely(0 > ib_req_notify_cq(sdp_sk(sk)->rx_ring.cq, IB_CQ_NEXT_COMP))) sdp_warn(sk, "error arming rx cq\n"); @@ -829,12 +837,6 @@ static inline void sdp_arm_tx_cq(struct sock *sk) sdp_warn(sk, "error arming tx cq\n"); } -static inline void sdp_postpone_rx_timer(struct sdp_sock *ssk) -{ - if (timer_pending(&ssk->rx_ring.cq_arm_timer) && ssk->qp_active) - mod_timer(&ssk->rx_ring.cq_arm_timer, MAX_JIFFY_OFFSET); -} - static inline void sdp_schedule_arm_rx_cq(struct sdp_sock *ssk, unsigned long delay) {