Page MenuHomeFreeBSD

D21117.diff
No OneTemporary

D21117.diff

diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -3537,7 +3537,8 @@
INP_WLOCK_ASSERT(tptoinpcb(tp));
TCPSTAT_INC(tcps_rttupdated);
- tp->t_rttupdated++;
+ if (tp->t_rttupdated < UCHAR_MAX)
+ tp->t_rttupdated++;
#ifdef STATS
stats_voi_update_abs_u32(tp->t_stats, VOI_TCP_RTT,
imax(0, rtt * 1000 / hz));
diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c
--- a/sys/netinet/tcp_stacks/bbr.c
+++ b/sys/netinet/tcp_stacks/bbr.c
@@ -6366,7 +6366,8 @@
tp->t_rttvar = rtt_ticks << (TCP_RTTVAR_SHIFT - 1);
}
KMOD_TCPSTAT_INC(tcps_rttupdated);
- tp->t_rttupdated++;
+ if (tp->t_rttupdated < UCHAR_MAX)
+ tp->t_rttupdated++;
#ifdef STATS
stats_voi_update_abs_u32(tp->t_stats, VOI_TCP_RTT, imax(0, rtt_ticks));
#endif
diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c
--- a/sys/netinet/tcp_stacks/rack.c
+++ b/sys/netinet/tcp_stacks/rack.c
@@ -7646,7 +7646,8 @@
}
rack->rc_srtt_measure_made = 1;
KMOD_TCPSTAT_INC(tcps_rttupdated);
- tp->t_rttupdated++;
+ if (tp->t_rttupdated < UCHAR_MAX)
+ tp->t_rttupdated++;
#ifdef STATS
if (rack_stats_gets_ms_rtt == 0) {
/* Send in the microsecond rtt used for rxt timeout purposes */
diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c
--- a/sys/netinet/tcp_usrreq.c
+++ b/sys/netinet/tcp_usrreq.c
@@ -3068,7 +3068,7 @@
tp->t_rttvar, tp->t_rxtshift, tp->t_rttmin);
db_print_indent(indent);
- db_printf("t_rttupdated: %lu max_sndwnd: %u t_softerror: %d\n",
+ db_printf("t_rttupdated: %u max_sndwnd: %u t_softerror: %d\n",
tp->t_rttupdated, tp->max_sndwnd, tp->t_softerror);
db_print_indent(indent);
diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h
--- a/sys/netinet/tcp_var.h
+++ b/sys/netinet/tcp_var.h
@@ -230,7 +230,6 @@
uint32_t snd_ssthresh_prev; /* ssthresh prior to retransmit */
tcp_seq snd_recover_prev; /* snd_recover prior to retransmit */
int t_sndzerowin; /* zero-window updates sent */
- u_long t_rttupdated; /* number of times rtt sampled */
int snd_numholes; /* number of holes seen by sender */
u_int t_badrxtwin; /* window for retransmit recovery */
TAILQ_HEAD(sackhole_head, sackhole) snd_holes;
@@ -276,6 +275,7 @@
uint32_t t_dsack_bytes; /* dsack bytes received */
uint32_t t_dsack_tlp_bytes; /* dsack bytes received for TLPs sent */
uint32_t t_dsack_pack; /* dsack packets we have eceived */
+ uint8_t t_rttupdated; /* number of times rtt sampled */
/* TCP Fast Open */
uint8_t t_tfo_client_cookie_len; /* TFO client cookie length */
uint32_t t_end_info_status; /* Status flag of end info */

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 26, 6:34 PM (20 h, 12 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17807760
Default Alt Text
D21117.diff (2 KB)

Event Timeline