Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/dev/pci



 > On Feb 4, 2010, at 1:13 AM, SAITOH Masanobu wrote:
 > 
 > > Module Name:       src
 > > Committed By:      msaitoh
 > > Date:              Thu Feb  4 09:13:23 UTC 2010
 > > 
 > > Modified Files:
 > >    src/sys/dev/pci: if_wm.c if_wmreg.h
 > > 
 > > Log Message:
 > > - Count Receive error, CRC error, Alignment error, Symbol error, Sequence
 > >  error, Carrier extension error and Receive length error into ierror.
 > >  Fixes PR#30349 reported by UMEZAWA Takeshi.
 > > - Count Missed packet (rx fifo overflow) and Receive no buffers (rx ring 
 > > full)
 > >  into iqdrops.
 > 
 > Isn't iqdrops really meant for to reflect a drop when placing into the 
 > software queue above the driver?

 I think it's a good question. Almost all drivers which count iqdrops do that.
It's important, but counting the rx fifo overflow and rx ring full is
(more) important, too. If we don't count it, I have no way to know whether
a system is in heavy traffic or not.

 It's one of solutions to bring the implementation of FreeBSD's dot3 MIB
(struct ifmib_iso_8802_3 in if_mib.h) thoung I don't know where the rx fifo
overflow is counted into.

FreeBSD's ifmib_iso_8802_3 says:
 > > /*
 * Link-specific MIB structures for various link types.
 */

/* For IFT_ETHER, IFT_ISO88023, and IFT_STARLAN, as used by RFC 1650 */
struct ifmib_iso_8802_3 {
        u_int32_t       dot3StatsAlignmentErrors;
        u_int32_t       dot3StatsFCSErrors;
        u_int32_t       dot3StatsSingleCollisionFrames;
        u_int32_t       dot3StatsMultipleCollisionFrames;
        u_int32_t       dot3StatsSQETestErrors;
        u_int32_t       dot3StatsDeferredTransmissions;
        u_int32_t       dot3StatsLateCollisions;
        u_int32_t       dot3StatsExcessiveCollisions;
        u_int32_t       dot3StatsInternalMacTransmitErrors;
        u_int32_t       dot3StatsCarrierSenseErrors;
        u_int32_t       dot3StatsFrameTooLongs;
        u_int32_t       dot3StatsInternalMacReceiveErrors;
        u_int32_t       dot3StatsEtherChipSet;
        /* Matt Thomas wants this one, not included in RFC 1650: */ <== !!! :-)
        u_int32_t       dot3StatsMissedFrames;

        u_int32_t       dot3StatsCollFrequencies[16]; /* NB: index origin */

        u_int32_t       dot3Compliance;
#define DOT3COMPLIANCE_STATS    1
#define DOT3COMPLIANCE_COLLS    2
};

Is this entry or another new entry?

 > > 
 > > To generate a diff of this commit:
 > > cvs rdiff -u -r1.195 -r1.196 src/sys/dev/pci/if_wm.c
 > > cvs rdiff -u -r1.35 -r1.36 src/sys/dev/pci/if_wmreg.h
 > > 
 > > Please note that diffs are not public domain; they are subject to the
 > > copyright notices on the relevant files.
 > 
 > -- thorpej

----------------------------------------------------------
                SAITOH Masanobu (masanobu%iij.ad.jp@localhost
                                  msaitoh%netbsd.org@localhost)


Home | Main Index | Thread Index | Old Index