svn commit: r273358 - in stable/9/sys/dev: alc ale
Pyun YongHyeon
yongari at FreeBSD.org
Tue Oct 21 01:15:45 UTC 2014
Author: yongari
Date: Tue Oct 21 01:15:43 2014
New Revision: 273358
URL: https://svnweb.freebsd.org/changeset/base/273358
Log:
MFC r272721:
Fix a long standing bug in MAC statistics register access. One
additional register was erroneously added in the MAC register set
such that 7 TX statistics counters were wrong.
Modified:
stable/9/sys/dev/alc/if_alc.c
stable/9/sys/dev/alc/if_alcreg.h
stable/9/sys/dev/ale/if_ale.c
stable/9/sys/dev/ale/if_alereg.h
Directory Properties:
stable/9/sys/ (props changed)
stable/9/sys/dev/ (props changed)
Modified: stable/9/sys/dev/alc/if_alc.c
==============================================================================
--- stable/9/sys/dev/alc/if_alc.c Tue Oct 21 01:14:56 2014 (r273357)
+++ stable/9/sys/dev/alc/if_alc.c Tue Oct 21 01:15:43 2014 (r273358)
@@ -1286,8 +1286,6 @@ alc_sysctl_node(struct alc_softc *sc)
&stats->tx_late_colls, "Late collisions");
ALC_SYSCTL_STAT_ADD32(ctx, child, "excess_colls",
&stats->tx_excess_colls, "Excessive collisions");
- ALC_SYSCTL_STAT_ADD32(ctx, child, "abort",
- &stats->tx_abort, "Aborted frames due to Excessive collisions");
ALC_SYSCTL_STAT_ADD32(ctx, child, "underruns",
&stats->tx_underrun, "FIFO underruns");
ALC_SYSCTL_STAT_ADD32(ctx, child, "desc_underruns",
@@ -2603,7 +2601,6 @@ alc_stats_update(struct alc_softc *sc)
stat->tx_multi_colls += smb->tx_multi_colls;
stat->tx_late_colls += smb->tx_late_colls;
stat->tx_excess_colls += smb->tx_excess_colls;
- stat->tx_abort += smb->tx_abort;
stat->tx_underrun += smb->tx_underrun;
stat->tx_desc_underrun += smb->tx_desc_underrun;
stat->tx_lenerrs += smb->tx_lenerrs;
@@ -2616,17 +2613,10 @@ alc_stats_update(struct alc_softc *sc)
ifp->if_collisions += smb->tx_single_colls +
smb->tx_multi_colls * 2 + smb->tx_late_colls +
- smb->tx_abort * HDPX_CFG_RETRY_DEFAULT;
+ smb->tx_excess_colls * HDPX_CFG_RETRY_DEFAULT;
- /*
- * XXX
- * tx_pkts_truncated counter looks suspicious. It constantly
- * increments with no sign of Tx errors. This may indicate
- * the counter name is not correct one so I've removed the
- * counter in output errors.
- */
- ifp->if_oerrors += smb->tx_abort + smb->tx_late_colls +
- smb->tx_underrun;
+ ifp->if_oerrors += smb->tx_late_colls + smb->tx_excess_colls +
+ smb->tx_underrun + smb->tx_pkts_truncated;
ifp->if_ipackets += smb->rx_frames;
Modified: stable/9/sys/dev/alc/if_alcreg.h
==============================================================================
--- stable/9/sys/dev/alc/if_alcreg.h Tue Oct 21 01:14:56 2014 (r273357)
+++ stable/9/sys/dev/alc/if_alcreg.h Tue Oct 21 01:15:43 2014 (r273358)
@@ -860,7 +860,6 @@ struct smb {
uint32_t tx_multi_colls;
uint32_t tx_late_colls;
uint32_t tx_excess_colls;
- uint32_t tx_abort;
uint32_t tx_underrun;
uint32_t tx_desc_underrun;
uint32_t tx_lenerrs;
Modified: stable/9/sys/dev/ale/if_ale.c
==============================================================================
--- stable/9/sys/dev/ale/if_ale.c Tue Oct 21 01:14:56 2014 (r273357)
+++ stable/9/sys/dev/ale/if_ale.c Tue Oct 21 01:15:43 2014 (r273358)
@@ -945,8 +945,6 @@ ale_sysctl_node(struct ale_softc *sc)
&stats->tx_late_colls, "Late collisions");
ALE_SYSCTL_STAT_ADD32(ctx, child, "excess_colls",
&stats->tx_excess_colls, "Excessive collisions");
- ALE_SYSCTL_STAT_ADD32(ctx, child, "abort",
- &stats->tx_abort, "Aborted frames due to Excessive collisions");
ALE_SYSCTL_STAT_ADD32(ctx, child, "underruns",
&stats->tx_underrun, "FIFO underruns");
ALE_SYSCTL_STAT_ADD32(ctx, child, "desc_underruns",
@@ -2200,7 +2198,6 @@ ale_stats_update(struct ale_softc *sc)
stat->tx_multi_colls += smb->tx_multi_colls;
stat->tx_late_colls += smb->tx_late_colls;
stat->tx_excess_colls += smb->tx_excess_colls;
- stat->tx_abort += smb->tx_abort;
stat->tx_underrun += smb->tx_underrun;
stat->tx_desc_underrun += smb->tx_desc_underrun;
stat->tx_lenerrs += smb->tx_lenerrs;
@@ -2213,17 +2210,10 @@ ale_stats_update(struct ale_softc *sc)
ifp->if_collisions += smb->tx_single_colls +
smb->tx_multi_colls * 2 + smb->tx_late_colls +
- smb->tx_abort * HDPX_CFG_RETRY_DEFAULT;
+ smb->tx_excess_colls * HDPX_CFG_RETRY_DEFAULT;
- /*
- * XXX
- * tx_pkts_truncated counter looks suspicious. It constantly
- * increments with no sign of Tx errors. This may indicate
- * the counter name is not correct one so I've removed the
- * counter in output errors.
- */
- ifp->if_oerrors += smb->tx_abort + smb->tx_late_colls +
- smb->tx_underrun;
+ ifp->if_oerrors += smb->tx_late_colls + smb->tx_excess_colls +
+ smb->tx_underrun + smb->tx_pkts_truncated;
ifp->if_ipackets += smb->rx_frames;
Modified: stable/9/sys/dev/ale/if_alereg.h
==============================================================================
--- stable/9/sys/dev/ale/if_alereg.h Tue Oct 21 01:14:56 2014 (r273357)
+++ stable/9/sys/dev/ale/if_alereg.h Tue Oct 21 01:15:43 2014 (r273358)
@@ -605,7 +605,6 @@ struct smb {
uint32_t tx_multi_colls;
uint32_t tx_late_colls;
uint32_t tx_excess_colls;
- uint32_t tx_abort;
uint32_t tx_underrun;
uint32_t tx_desc_underrun;
uint32_t tx_lenerrs;
More information about the svn-src-stable-9
mailing list