Lines Matching defs:rtt

311 static uint32_t rack_probe_rtt_safety_val = 2000000;	/* No more than 2 sec in probe-rtt */
313 static uint32_t rack_probertt_gpsrtt_cnt_mul = 0; /* How many srtt periods does probe-rtt last top fraction */
314 static uint32_t rack_probertt_gpsrtt_cnt_div = 0; /* How many srtt periods does probe-rtt last bottom fraction */
346 static int32_t rack_gp_rtt_minmul = 1; /* minrtt + (minrtt/mindiv) is lower rtt */
347 static int32_t rack_gp_rtt_mindiv = 4; /* minrtt + (minrtt * minmul/mindiv) is lower rtt */
588 static void tcp_rack_xmit_timer(struct tcp_rack *rack, int32_t rtt,
908 /* Probe rtt related controls */
944 "How many useconds between the lowest rtt falling must past before we enter probertt");
969 "Should we use the min-rtt to calculate the goal rtt (else gp_srtt) at entry");
974 "How to set cwnd at exit, 0 - dynamic, 1 - use min-rtt, 2 - use curgprtt, 3 - entry gp-rtt");
999 "If the rtt goes lower within this percentage of the time, go into probe-rtt");
1004 "How much is the minimum movement in rtt to count as a drop for probertt purposes");
1009 "Do we clear I/S counts on exiting probe-rtt");
1230 "Rack timely multiplier of lowest rtt for rtt_max");
1235 "Rack timely divisor used for rtt + (rtt * mul/divisor) for check for lower rtt");
1240 "Rack timely multiplier used for rtt + (rtt * mul/divisor) for check for lower rtt");
1306 "Rack timely when deciding if to backoff on a loss, do we use under max rtt else min");
1389 "What divisor for TLP rtt/retran will be added (1=rtt, 2=1/2 rtt etc)");
1580 "When a persist or keep-alive probe is not answered do we calculate rtt on subsequent answers?");
1595 "What do we feed the stats framework (1 = ms_rtt, 0 = us_rtt, 2 = ms_rtt from hdwr, > 2 usec rtt from hdwr)?");
2068 /* Record the last obtained us rtt in inflight */
2076 /* Use the last known rtt i.e. the rack-rtt */
2539 * 4 = Dsack option increases rack rtt flex5 is the srtt input, flex6 is thresh
2541 * 6 = Final rack rtt, flex4 is srtt and flex6 is final limited thresh.
2929 rack_log_rtt_sample(struct tcp_rack *rack, uint32_t rtt)
2932 * Log the rtt sample we are
2942 log.u_bbr.flex1 = rtt;
2978 rack_log_rtt_sample_calc(struct tcp_rack *rack, uint32_t rtt, uint32_t send_time, uint32_t ack_time, int where)
2986 log.u_bbr.flex1 = rtt;
3559 * 2) We have a minimum number of rtt's usually 1 SRTT
3579 * the SRTT has our rtt and then multiply it by the
3604 * span huge numbers of rtt's between measurements.
3941 * rtt_dif = input var current rtt-diff
3977 rack_decrease_highrtt(struct tcp_rack *rack, uint32_t curper, uint32_t rtt)
3995 (uint64_t)rtt)) / 100)) /(uint64_t)1000000);
3999 log1 = rtt;
4014 rack_decrease_bw_mul(struct tcp_rack *rack, int timely_says, uint32_t rtt, int32_t rtt_diff)
4036 new_per = rack_decrease_highrtt(rack, rack->r_ctl.rack_per_of_gp_rec, rtt);
4058 new_per = rack_decrease_highrtt(rack, rack->r_ctl.rack_per_of_gp_ss, rtt);
4075 logvar2 = (uint32_t)rtt;
4091 new_per = rack_decrease_highrtt(rack, rack->r_ctl.rack_per_of_gp_ca, rtt);
4108 logvar2 = (uint32_t)rtt;
4137 uint32_t rtt, uint32_t line, uint8_t reas)
4148 log.u_bbr.flex5 = rtt;
4187 rack_set_prtt_target(struct tcp_rack *rack, uint32_t segsiz, uint32_t rtt)
4192 bwdp *= (uint64_t)rtt;
4284 * probe-rtt. We probably are not interested in
4356 /* Set to min rtt */
4360 /* Set to current gp rtt */
4364 /* Set to entry gp rtt */
4431 /* Check in on probe-rtt */
4434 /* We do not do p-rtt unless we have gp measurements */
4531 uint32_t rtt, int32_t rtt_diff)
4568 rack_decrease_bw_mul(rack, timely_says, rtt, rtt_diff);
4686 rack_decrease_bw_mul(rack, timely_says, rtt, rtt_diff);
4696 rack_make_timely_judgement(struct tcp_rack *rack, uint32_t rtt, int32_t rtt_diff, uint32_t prev_rtt)
4701 log_rtt_a_diff = rtt;
4704 if (rtt >= (get_filter_value_small(&rack->r_ctl.rc_gp_min_rtt) *
4714 } else if (rtt <= (get_filter_value_small(&rack->r_ctl.rc_gp_min_rtt) +
4963 * rtt we have seen during the measurement and the
4972 * were a long way away.. example I am in Europe (100ms rtt)
4974 * bytes my time would be 1.2ms, and yet my rtt would say
5060 * on our BDP (highest rwnd and lowest rtt
5121 * 10ms rtt we only want to take a much smaller portion.
5212 * For probe-rtt we only add it in
5306 /* We do not update any multipliers if we are in or have seen a probe-rtt */
5974 /* It must be set, if not you get 1/4 rtt */
6093 * last rtt we measured. However if that
6453 * Do we count this as if a probe-rtt just
6468 /* Yes, we count it as a probe-rtt. */
6707 * exit probe-rtt and initiate a keep-alive ack.
6708 * This will get us out of probe-rtt and update
6709 * our min-rtt.
7936 * Clobber it so we'll take the next rtt measurement as our srtt;
8581 * Hmm beyond sndmax? (only if we are using the new rtt-pack
8596 tcp_rack_xmit_timer(struct tcp_rack *rack, int32_t rtt, uint32_t len, uint32_t us_rtt,
8600 (rack->r_ctl.rack_rs.rs_rtt_lowest > rtt)) {
8601 rack->r_ctl.rack_rs.rs_rtt_lowest = rtt;
8604 (rack->r_ctl.rack_rs.rs_rtt_highest < rtt)) {
8605 rack->r_ctl.rack_rs.rs_rtt_highest = rtt;
8621 * rtt measurement for buffer deterimination
8656 rack->r_ctl.rack_rs.rs_rtt_tot += rtt;
8668 int32_t rtt;
8675 rtt = rack->r_ctl.rack_rs.rs_rtt_lowest;
8678 rtt = rack->r_ctl.rack_rs.rs_rtt_highest;
8681 rtt = (int32_t)(rack->r_ctl.rack_rs.rs_rtt_tot /
8685 panic("Unknown rtt variant %d", rack->r_ctl.rc_rate_sample_method);
8689 if (rtt == 0)
8690 rtt = 1;
8733 /* The lowest rtt can be set if its was not retransmited */
8743 * We keep a simple srtt in microseconds, like our rtt
8750 delta = tp->t_srtt - rtt;
8754 tp->t_srtt += (rtt >> 3);
8768 * No rtt measurement yet - use the unsmoothed rtt. Set the
8769 * variance to half the rtt (so our first retransmit happens
8770 * at 3*rtt).
8772 tp->t_srtt = rtt;
8773 tp->t_rttvar = rtt >> 1;
8781 /* Send in the microsecond rtt used for rxt timeout purposes */
8782 stats_voi_update_abs_u32(tp->t_stats, VOI_TCP_RTT, imax(0, rtt));
8784 /* Send in the millisecond rtt used for rxt timeout purposes */
8788 ms_rtt = (rtt + HPTS_USEC_IN_MSEC - 1) / HPTS_USEC_IN_MSEC;
8791 /* Send in the millisecond rtt has close to the path RTT as we can get */
8798 /* Send in the microsecond rtt has close to the path RTT as we can get */
8805 * the retransmit should happen at rtt + 4 * rttvar. Because of the
8816 max(rack_rto_min, rtt + 2), rack_rto_max, rack->r_ctl.timer_slop);
8817 rack_log_rtt_sample(rack, rtt);
8826 * Apply to filter the inbound us-rtt at us_cts.
8834 /* We just hit a new lower rtt time */
8847 * We are seeing a new lower rtt very close
8848 * to the time that we would have entered probe-rtt.
8850 * has entered probe-rtt. Lets go in now too.
9077 * than the smallest rtt we have observed. We most
9871 * to prev). Update the rtt and changed
11215 * zero rtt possibly?, settle for just an old increase.
11940 * we now have an rtt measurement, cancel the timer backoff (cf.,
12765 * Recalculate the transmit timer / rtt.
13042 /* For syn-sent we need to possibly update the rtt */
13257 /* For syn-recv we need to possibly update the rtt */
15518 * min rtt time. Note now worry about lost responses.
15523 * the rtt but with reduced confidence (0). Or we just
15524 * plain don't apply the rtt estimate. Having data flow
15971 /* And lets be sure to commit the rtt measurements for this ack */
16739 uint32_t rtt = 0;
16750 rtt = (cts - rack->r_ctl.last_time_of_arm_rcv);
16753 if (rtt > 0) {
16754 tcp_rack_xmit_timer(rack, rtt, 0, rtt, 4, NULL, 1);
17321 /* The rtt is huge, N * smallest, lets not fill */
17327 * first lets calculate the b/w based on the last us-rtt
17440 * in an rtt (unless it was capped), what does that
19976 /* Count as a probe rtt */
20933 * that delayed ack may play a role in any rtt measurement).
23648 /* RACK added ms i.e. rack-rtt + reord + N */
24479 /* Fix up the rtt related fields if needed */
24719 /* RACK added ms i.e. rack-rtt + reord + N */