Lines Matching refs:peer

18 static u32 rxrpc_rto_min_us(struct rxrpc_peer *peer)
23 static u32 __rxrpc_set_rto(const struct rxrpc_peer *peer)
25 return (peer->srtt_us >> 3) + peer->rttvar_us;
43 static void rxrpc_rtt_estimator(struct rxrpc_peer *peer, long sample_rtt_us)
46 u32 srtt = peer->srtt_us;
69 m -= (peer->mdev_us >> 2); /* similar update on mdev */
81 m -= (peer->mdev_us >> 2); /* similar update on mdev */
84 peer->mdev_us += m; /* mdev = 3/4 mdev + 1/4 new */
85 if (peer->mdev_us > peer->mdev_max_us) {
86 peer->mdev_max_us = peer->mdev_us;
87 if (peer->mdev_max_us > peer->rttvar_us)
88 peer->rttvar_us = peer->mdev_max_us;
93 peer->mdev_us = m << 1; /* make sure rto = 3*rtt */
94 peer->rttvar_us = max(peer->mdev_us, rxrpc_rto_min_us(peer));
95 peer->mdev_max_us = peer->rttvar_us;
98 peer->srtt_us = max(1U, srtt);
105 static void rxrpc_set_rto(struct rxrpc_peer *peer)
116 rto = __rxrpc_set_rto(peer);
127 peer->rto_us = rxrpc_bound_rto(rto);
130 static void rxrpc_ack_update_rtt(struct rxrpc_peer *peer, long rtt_us)
135 //rxrpc_update_rtt_min(peer, rtt_us);
136 rxrpc_rtt_estimator(peer, rtt_us);
137 rxrpc_set_rto(peer);
140 peer->backoff = 0;
145 * exclusive access to the peer RTT data.
152 struct rxrpc_peer *peer = call->peer;
159 spin_lock(&peer->rtt_input_lock);
160 rxrpc_ack_update_rtt(peer, rtt_us);
161 if (peer->rtt_count < 3)
162 peer->rtt_count++;
163 spin_unlock(&peer->rtt_input_lock);
166 peer->srtt_us >> 3, peer->rto_us);
173 ktime_t rxrpc_get_rto_backoff(struct rxrpc_peer *peer, bool retrans)
176 u32 backoff = READ_ONCE(peer->backoff);
178 timo_us = peer->rto_us;
181 WRITE_ONCE(peer->backoff, backoff + 1);
189 void rxrpc_peer_init_rtt(struct rxrpc_peer *peer)
191 peer->rto_us = RXRPC_TIMEOUT_INIT;
192 peer->mdev_us = RXRPC_TIMEOUT_INIT;
193 peer->backoff = 0;
194 //minmax_reset(&peer->rtt_min, rxrpc_jiffies32, ~0U);