Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F148563060
D45070.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D45070.diff
View Options
diff --git a/sys/netinet/in_kdtrace.h b/sys/netinet/in_kdtrace.h
--- a/sys/netinet/in_kdtrace.h
+++ b/sys/netinet/in_kdtrace.h
@@ -286,6 +286,7 @@
SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_recovery_episode);
SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_rexmits);
+SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_rexmits_tso);
SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_rexmit_bytes);
SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_rcv_blocks);
SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_send_blocks);
diff --git a/sys/netinet/in_kdtrace.c b/sys/netinet/in_kdtrace.c
--- a/sys/netinet/in_kdtrace.c
+++ b/sys/netinet/in_kdtrace.c
@@ -294,6 +294,7 @@
MIB_PROBE_TCP(tcps_sack_recovery_episode);
MIB_PROBE_TCP(tcps_sack_rexmits);
+MIB_PROBE_TCP(tcps_sack_rexmits_tso);
MIB_PROBE_TCP(tcps_sack_rexmit_bytes);
MIB_PROBE_TCP(tcps_sack_rcv_blocks);
MIB_PROBE_TCP(tcps_sack_send_blocks);
diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -1037,6 +1037,9 @@
TCPSTAT_ADD(tcps_sndrexmitbyte, len);
if (sack_rxmit) {
TCPSTAT_INC(tcps_sack_rexmits);
+ if (tso) {
+ TCPSTAT_INC(tcps_sack_rexmits_tso);
+ }
TCPSTAT_ADD(tcps_sack_rexmit_bytes, len);
}
#ifdef STATS
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
@@ -1030,6 +1030,7 @@
/* SACK related stats */
uint64_t tcps_sack_recovery_episode; /* SACK recovery episodes */
uint64_t tcps_sack_rexmits; /* SACK rexmit segments */
+ uint64_t tcps_sack_rexmits_tso; /* SACK rexmit TSO chunks */
uint64_t tcps_sack_rexmit_bytes; /* SACK rexmit bytes */
uint64_t tcps_sack_rcv_blocks; /* SACK blocks (options) received */
uint64_t tcps_sack_send_blocks; /* SACK blocks (options) sent */
@@ -1088,7 +1089,7 @@
uint64_t tcps_tlpresend_bytes; /* number of bytes resent by tlp */
- uint64_t _pad[4]; /* 4 TBD placeholder for STABLE */
+ uint64_t _pad[3]; /* 3 TBD placeholder for STABLE */
};
#define tcps_rcvmemdrop tcps_rcvreassfull /* compat */
diff --git a/usr.bin/netstat/inet.c b/usr.bin/netstat/inet.c
--- a/usr.bin/netstat/inet.c
+++ b/usr.bin/netstat/inet.c
@@ -783,11 +783,13 @@
p(tcps_sack_recovery_episode, "\t{:recovery-episodes/%ju} "
"{N:/SACK recovery episode%s}\n");
- p(tcps_sack_rexmits, "\t{:segment-retransmits/%ju} "
+ p(tcps_sack_rexmits, "\t{:segment-retransmits/%ju} "
"{N:/segment rexmit%s in SACK recovery episodes}\n");
- p(tcps_sack_rexmit_bytes, "\t{:byte-retransmits/%ju} "
+ p(tcps_sack_rexmits_tso, "\t{:tso-chunk-retransmits/%ju} "
+ "{N:/tso chunk rexmit%s in SACK recovery episodes}\n");
+ p(tcps_sack_rexmit_bytes, "\t{:byte-retransmits/%ju} "
"{N:/byte rexmit%s in SACK recovery episodes}\n");
- p(tcps_sack_rcv_blocks, "\t{:received-blocks/%ju} "
+ p(tcps_sack_rcv_blocks, "\t{:received-blocks/%ju} "
"{N:/SACK option%s (SACK blocks) received}\n");
p(tcps_sack_send_blocks, "\t{:sent-option-blocks/%ju} "
"{N:/SACK option%s (SACK blocks) sent}\n");
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Mar 19, 6:59 PM (2 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29974756
Default Alt Text
D45070.diff (3 KB)
Attached To
Mode
D45070: tcp: add counter to track when SACK loss recovery uses TSO
Attached
Detach File
Event Timeline
Log In to Comment