Lines Matching defs:rtt
347 static uint32_t bbr_lt_bw_max_rtts = 48; /* How many rtt's do we use
478 uint32_t rtt, uint32_t line, uint8_t is_start,
1166 /* Probe rtt controls */
1182 "How many mss's are outstanding during probe-rtt");
1187 "If RTT has not shrank in this many micro-seconds enter probe-rtt");
1192 "How many microseconds in probe-rtt");
1202 "What is the drain rtt to use in probeRTT (rtt_prop=0, rtt_rack=1, rtt_pkt=2, rtt_srtt=3?");
1207 "If we keep setting new low rtt's but delay going in probe-rtt can we force in??");
1212 "In NF mode, do we imitate google_mode and set the rttProp on entry to probe-rtt?");
1217 "Can we dynamically adjust the probe-rtt limits and times?");
1232 "Can we use the ms timestamp if available for retransmistted rtt calculations?");
1543 "Target cwnd rtt measurement to use (0=rtt_prop, 1=rtt_rack, 2=pkt_rtt, 3=srtt)?");
1774 "what divisor for TLP rtt/retran will be added (1=rtt, 2=1/2 rtt etc)");
2097 uint32_t rtt, uint32_t line, uint8_t reas, uint16_t cond)
2107 log.u_bbr.flex5 = rtt;
2161 bbr_log_rtt_sample(struct tcp_bbr *bbr, uint32_t rtt, uint32_t tsin)
2164 * Log the rtt sample we are applying to the srtt algorithm in
2171 log.u_bbr.flex1 = rtt;
2909 uint64_t rtt;
2922 rtt = (uint64_t)get_filter_value_small(&bbr->r_ctl.rc_rttprop);
2923 if (rtt && (rtt < 0xffffffff)) {
2927 min_bw /= rtt;
2934 rtt = bbr_get_rtt(bbr, BBR_SRTT);
2953 rtt = (uint64_t)get_filter_value_small(&bbr->r_ctl.rc_rttprop);
2954 if (rtt && (rtt < 0xffffffff)) {
2962 bw /= rtt;
3359 bbr_get_bw_delay_prod(uint64_t rtt, uint64_t bw) {
3362 * second) and the specifyed rtt in useconds. We need to put out the
3367 * TByte per second (bw < 10**12 = 2**40) and the rtt is smaller
3368 * than 1000 seconds (rtt < 10**3 * 10**6 = 10**9 = 2**30).
3373 return ((rtt * bw) / usec_per_sec);
3411 uint64_t bdp, rtt;
3423 rtt = bbr_get_rtt(bbr, bbr_cwndtarget_rtt_touse);
3425 bdp = bbr_get_bw_delay_prod(rtt, bw);
3620 /* We don't change anything in probe-rtt */
3782 /* For probe-rtt case lets fix up its saved_cwnd */
4117 /* It must be set, if not you get 1/4 rtt */
4224 /* We have no rtt at all */
4230 * Since we don't know how good the rtt is apply a
4237 /* Take the filter version or last measured pkt-rtt */
4244 /* No pkt rtt yet */
4258 panic("Unknown rtt request type %d", rtt_type);
5153 * Clobber it so we'll take the next rtt measurement as our srtt;
5814 * less than a full sized frame yikes.. long rtt or
6085 * Hmm beyond sndmax? (only if we are using the new rtt-pack
6095 bbr_collapse_rtt(struct tcpcb *tp, struct tcp_bbr *bbr, int32_t rtt)
6247 uint32_t rtt, tsin;
6254 rtt = bbr->r_ctl.cur_rtt;
6265 * and when they enter probe-rtt they update the
6266 * value to the newest rtt.
6272 if (rtt > rtt_prop)
6273 filter_increase_by_small(&bbr->r_ctl.rc_rttprop, (rtt - rtt_prop), cts);
6275 apply_filter_min_small(&bbr->r_ctl.rc_rttprop, rtt, cts);
6278 stats_voi_update_abs_u32(tp->t_stats, VOI_TCP_PATHRTT, imax(0, rtt));
6281 rtt += bbr->r_ctl.rc_ack_hdwr_delay;
6283 if (rtt < bbr->r_ctl.rc_lowest_rtt)
6284 bbr->r_ctl.rc_lowest_rtt = rtt;
6285 bbr_log_rtt_sample(bbr, rtt, tsin);
6288 * The initial rtt is not-trusted, nuke it and lets get
6320 rtt_ticks = USEC_2_TICKS((rtt + (USECS_IN_MSEC - 1)));
6326 * alpha of .875 (srtt = rtt/8 + srtt*7/8 in fixed point).
6327 * Adjust rtt to origin 0.
6338 * We accumulate a smoothed rtt variance (actually, a
6340 * to smoothed rtt + 4 times the smoothed variance. rttvar
6355 * No rtt measurement yet - use the unsmoothed rtt. Set the
6356 * variance to half the rtt (so our first retransmit happens
6357 * at 3*rtt).
6369 * the retransmit should happen at rtt + 4 * rttvar. Because of the
6390 rtt = (TICKS_2_USEC(bbr->rc_tp->t_srtt) >> TCP_RTT_SHIFT);
6391 if (bbr->r_ctl.bbr_smallest_srtt_this_state > rtt)
6392 bbr->r_ctl.bbr_smallest_srtt_this_state = rtt;
6403 * We should enter probe-rtt its been too long
6449 bbr_nf_measurement(struct tcp_bbr *bbr, struct bbr_sendmap *rsm, uint32_t rtt, uint32_t cts)
6486 (rtt < 1000)) {
6563 bbr_google_measurement(struct tcp_bbr *bbr, struct bbr_sendmap *rsm, uint32_t rtt, uint32_t cts)
6646 bbr_update_bbr_info(struct tcp_bbr *bbr, struct bbr_sendmap *rsm, uint32_t rtt, uint32_t cts, uint32_t tsin,
6654 if (rtt == 0) {
6665 * We get a lot of rtt updates, lets not pay attention to
6684 tcp_bbr_xmit_timer(bbr, rtt, rsm_send_time, rsm->r_start, tsin);
6695 * going into probe-rtt (we were seeing cases where that
6699 if (rtt < old_rttprop) {
6700 /* Update when we last saw a rtt drop */
6701 bbr_log_rtt_shrinks(bbr, cts, 0, rtt, __LINE__, BBR_RTTS_NEWRTT, 0);
6704 bbr_log_type_bbrrttprop(bbr, rtt, rsm->r_end, uts, cts,
6706 apply_filter_min_small(&bbr->r_ctl.rc_rttprop, rtt, cts);
6735 bbr_google_measurement(bbr, rsm, rtt, cts);
6737 bbr_nf_measurement(bbr, rsm, rtt, cts);
6856 * than the smallest rtt we have observed in the
6857 * windowed rtt. We most likey did an improper
7330 uint32_t ts, now, rtt;
7334 rtt = now - ts;
7335 if (rtt < 1)
7336 rtt = 1;
7337 bbr_log_type_bbrrttprop(bbr, rtt,
7340 apply_filter_min_small(&bbr->r_ctl.rc_rttprop, rtt, cts);
8664 * Recalculate the transmit timer / rtt.
8894 uint32_t t, rtt;
8898 rtt = t - to->to_tsecr;
8899 if (rtt == 0) {
8900 rtt = 1;
8902 rtt *= MS_IN_USEC;
8903 tcp_bbr_xmit_timer(bbr, rtt, 0, 0, 0);
8905 rtt, bbr->r_ctl.rc_rcvtime);
9068 uint32_t t, rtt;
9072 rtt = t - to->to_tsecr;
9073 if (rtt == 0) {
9074 rtt = 1;
9076 rtt *= MS_IN_USEC;
9077 tcp_bbr_xmit_timer(bbr, rtt, 0, 0, 0);
9078 apply_filter_min_small(&bbr->r_ctl.rc_rttprop, rtt, bbr->r_ctl.rc_rcvtime);
10130 uint32_t rtt;
10132 rtt = (TICKS_2_USEC(tp->t_srtt) >> TCP_RTT_SHIFT);
10133 apply_filter_min_small(&bbr->r_ctl.rc_rttprop, rtt, cts);
10620 /* Special case using old probe-rtt method */
10624 /* Non-probe-rtt case and reduced probe-rtt */
10734 * Sanity check on probe-rtt intervals.
10737 * our rtt-prop interval could come to dominate
10746 /* Are we to small and go into probe-rtt to often? */
10803 /* Exit probe-rtt */
10838 * the number of pe's we were in probe-rtt
10944 * gain in rtt over a set threshold?
11048 * A tick occurred in the rtt epoch do we need to do anything?
11082 /* Here we don't have to worry about probe-rtt */
11135 * Here we don't have to worry about probe-rtt
11158 /* Setup probe-rtt has being done now RRS-HERE */
14480 /* RACK added ms i.e. rack-rtt + reord + N */
14676 /* RACK added ms i.e. rack-rtt + reord + N */