Lines Matching defs:lp

34  *   http://tcp-lp-mod.sourceforge.net/
61 * struct lp
77 struct lp {
99 struct lp *lp = inet_csk_ca(sk);
101 lp->flag = 0;
102 lp->sowd = 0;
103 lp->owd_min = 0xffffffff;
104 lp->owd_max = 0;
105 lp->owd_max_rsv = 0;
106 lp->remote_hz = 0;
107 lp->remote_ref_time = 0;
108 lp->local_ref_time = 0;
109 lp->last_drop = 0;
110 lp->inference = 0;
123 struct lp *lp = inet_csk_ca(sk);
125 if (!(lp->flag & LP_WITHIN_INF))
140 struct lp *lp = inet_csk_ca(sk);
141 s64 rhz = lp->remote_hz << 6; /* remote HZ << 6 */
146 if (lp->remote_ref_time == 0 || lp->local_ref_time == 0)
150 if (tp->rx_opt.rcv_tsval == lp->remote_ref_time ||
151 tp->rx_opt.rcv_tsecr == lp->local_ref_time)
155 (tp->rx_opt.rcv_tsval - lp->remote_ref_time) /
156 (tp->rx_opt.rcv_tsecr - lp->local_ref_time);
169 lp->flag |= LP_VALID_RHZ;
171 lp->flag &= ~LP_VALID_RHZ;
174 lp->remote_ref_time = tp->rx_opt.rcv_tsval;
175 lp->local_ref_time = tp->rx_opt.rcv_tsecr;
194 struct lp *lp = inet_csk_ca(sk);
197 lp->remote_hz = tcp_lp_remote_hz_estimator(sk);
199 if (lp->flag & LP_VALID_RHZ) {
201 tp->rx_opt.rcv_tsval * (LP_RESOL / lp->remote_hz) -
208 lp->flag |= LP_VALID_OWD;
210 lp->flag &= ~LP_VALID_OWD;
229 struct lp *lp = inet_csk_ca(sk);
233 if (!(lp->flag & LP_VALID_RHZ) || !(lp->flag & LP_VALID_OWD))
237 if (mowd < lp->owd_min)
238 lp->owd_min = mowd;
242 if (mowd > lp->owd_max) {
243 if (mowd > lp->owd_max_rsv) {
244 if (lp->owd_max_rsv == 0)
245 lp->owd_max = mowd;
247 lp->owd_max = lp->owd_max_rsv;
248 lp->owd_max_rsv = mowd;
250 lp->owd_max = mowd;
254 if (lp->sowd != 0) {
255 mowd -= lp->sowd >> 3; /* m is now error in owd est */
256 lp->sowd += mowd; /* owd = 7/8 owd + 1/8 new */
258 lp->sowd = mowd << 3; /* take the measured time be owd */
274 struct lp *lp = inet_csk_ca(sk);
284 lp->inference = 3 * delta;
287 if (lp->last_drop && (now - lp->last_drop < lp->inference))
288 lp->flag |= LP_WITHIN_INF;
290 lp->flag &= ~LP_WITHIN_INF;
293 if (lp->sowd >> 3 <
294 lp->owd_min + 15 * (lp->owd_max - lp->owd_min) / 100)
295 lp->flag |= LP_WITHIN_THR;
297 lp->flag &= ~LP_WITHIN_THR;
299 pr_debug("TCP-LP: %05o|%5u|%5u|%15u|%15u|%15u\n", lp->flag,
300 tcp_snd_cwnd(tp), lp->remote_hz, lp->owd_min, lp->owd_max,
301 lp->sowd >> 3);
303 if (lp->flag & LP_WITHIN_THR)
309 lp->owd_min = lp->sowd >> 3;
310 lp->owd_max = lp->sowd >> 2;
311 lp->owd_max_rsv = lp->sowd >> 2;
315 if (lp->flag & LP_WITHIN_INF)
324 lp->last_drop = now;
335 .name = "lp"
340 BUILD_BUG_ON(sizeof(struct lp) > ICSK_CA_PRIV_SIZE);