diff options
author | rwatson <rwatson@FreeBSD.org> | 2009-04-11 22:07:19 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2009-04-11 22:07:19 +0000 |
commit | b79ff9a30db8d3975296e0b1fe8978691f774694 (patch) | |
tree | d7e60241b428cfa595a3f0e0d467ee67548c9488 /sys/netinet/tcp_output.c | |
parent | 90c1837110aba860c5442bc9151ef6f8e60160a0 (diff) | |
download | FreeBSD-src-b79ff9a30db8d3975296e0b1fe8978691f774694.zip FreeBSD-src-b79ff9a30db8d3975296e0b1fe8978691f774694.tar.gz |
Update stats in struct tcpstat using two new macros, TCPSTAT_ADD() and
TCPSTAT_INC(), rather than directly manipulating the fields across the
kernel. This will make it easier to change the implementation of
these statistics, such as using per-CPU versions of the data structures.
MFC after: 3 days
Diffstat (limited to 'sys/netinet/tcp_output.c')
-rw-r--r-- | sys/netinet/tcp_output.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c index 2347305..d014fdd 100644 --- a/sys/netinet/tcp_output.c +++ b/sys/netinet/tcp_output.c @@ -264,9 +264,9 @@ again: if (len > 0) { sack_rxmit = 1; sendalot = 1; - V_tcpstat.tcps_sack_rexmits++; - V_tcpstat.tcps_sack_rexmit_bytes += - min(len, tp->t_maxseg); + TCPSTAT_INC(tcps_sack_rexmits); + TCPSTAT_ADD(tcps_sack_rexmit_bytes, + min(len, tp->t_maxseg)); } } after_sack_rexmit: @@ -768,13 +768,13 @@ send: u_int moff; if ((tp->t_flags & TF_FORCEDATA) && len == 1) - V_tcpstat.tcps_sndprobe++; + TCPSTAT_INC(tcps_sndprobe); else if (SEQ_LT(tp->snd_nxt, tp->snd_max) || sack_rxmit) { - V_tcpstat.tcps_sndrexmitpack++; - V_tcpstat.tcps_sndrexmitbyte += len; + TCPSTAT_INC(tcps_sndrexmitpack); + TCPSTAT_ADD(tcps_sndrexmitbyte, len); } else { - V_tcpstat.tcps_sndpack++; - V_tcpstat.tcps_sndbyte += len; + TCPSTAT_INC(tcps_sndpack); + TCPSTAT_ADD(tcps_sndbyte, len); } #ifdef notyet if ((m = m_copypack(so->so_snd.sb_mb, off, @@ -841,13 +841,13 @@ send: } else { SOCKBUF_UNLOCK(&so->so_snd); if (tp->t_flags & TF_ACKNOW) - V_tcpstat.tcps_sndacks++; + TCPSTAT_INC(tcps_sndacks); else if (flags & (TH_SYN|TH_FIN|TH_RST)) - V_tcpstat.tcps_sndctrl++; + TCPSTAT_INC(tcps_sndctrl); else if (SEQ_GT(tp->snd_up, tp->snd_una)) - V_tcpstat.tcps_sndurg++; + TCPSTAT_INC(tcps_sndurg); else - V_tcpstat.tcps_sndwinup++; + TCPSTAT_INC(tcps_sndwinup); MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == NULL) { @@ -919,7 +919,7 @@ send: else #endif ip->ip_tos |= IPTOS_ECN_ECT0; - V_tcpstat.tcps_ecn_ect0++; + TCPSTAT_INC(tcps_ecn_ect0); } /* @@ -1085,7 +1085,7 @@ send: if (tp->t_rtttime == 0) { tp->t_rtttime = ticks; tp->t_rtseq = startseq; - V_tcpstat.tcps_segstimed++; + TCPSTAT_INC(tcps_segstimed); } } @@ -1262,7 +1262,7 @@ out: return (error); } } - V_tcpstat.tcps_sndtotal++; + TCPSTAT_INC(tcps_sndtotal); /* * Data sent (as far as we can tell). @@ -1437,7 +1437,7 @@ tcp_addoptions(struct tcpopt *to, u_char *optp) optlen += TCPOLEN_SACK; sack++; } - V_tcpstat.tcps_sack_send_blocks++; + TCPSTAT_INC(tcps_sack_send_blocks); break; } default: |