[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <424968219126961b51bef798dc554eb2867a9809.camel@intel.com>
Date: Tue, 13 Apr 2021 23:52:36 +0000
From: "Nguyen, Anthony L" <anthony.l.nguyen@...el.com>
To: "kuba@...nel.org" <kuba@...nel.org>
CC: "davem@...emloft.net" <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"Tyl, RadoslawX" <radoslawx.tyl@...el.com>,
"sassmann@...hat.com" <sassmann@...hat.com>,
"Brelinski, TonyX" <tonyx.brelinski@...el.com>
Subject: Re: [PATCH net-next 2/4] ixgbe: aggregate of all receive errors
through netdev's rx_errors
On Fri, 2021-04-09 at 18:00 -0700, Jakub Kicinski wrote:
> On Fri, 9 Apr 2021 12:03:12 -0700 Tony Nguyen wrote:
> > From: Radoslaw Tyl <radoslawx.tyl@...el.com>
> >
> > The global rx error does not take into account all the error
> > counters
> > that are counted by device.
> >
> > Extend rx error with the following counters:
> > - illegal byte error
> > - number of receive fragment errors
> > - receive jabber
> > - receive oversize error
> > - receive undersize error
> > - frames marked as checksum invalid by hardware
> >
> > The above were added in order to align statistics with other
> > products.
> >
> > Signed-off-by: Radoslaw Tyl <radoslawx.tyl@...el.com>
> > Tested-by: Tony Brelinski <tonyx.brelinski@...el.com>
> > Signed-off-by: Tony Nguyen <anthony.l.nguyen@...el.com>
> > ---
> > drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 11 ++++++++++-
> > 1 file changed, 10 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> > b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> > index 7ba1c2985ef7..7711828401d9 100644
> > --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> > +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> > @@ -7240,12 +7240,21 @@ void ixgbe_update_stats(struct
> > ixgbe_adapter *adapter)
> > hwstats->ptc1023 += IXGBE_READ_REG(hw, IXGBE_PTC1023);
> > hwstats->ptc1522 += IXGBE_READ_REG(hw, IXGBE_PTC1522);
> > hwstats->bptc += IXGBE_READ_REG(hw, IXGBE_BPTC);
> > + hwstats->illerrc += IXGBE_READ_REG(hw, IXGBE_ILLERRC);
> >
> > /* Fill out the OS statistics structure */
> > netdev->stats.multicast = hwstats->mprc;
> >
> > /* Rx Errors */
> > - netdev->stats.rx_errors = hwstats->crcerrs + hwstats->rlec;
> > + netdev->stats.rx_errors = hwstats->crcerrs +
> > + hwstats->illerrc +
> > + hwstats->rlec +
> > + hwstats->rfc +
> > + hwstats->rjc +
> > + hwstats->roc +
> > + hwstats->ruc +
>
> IDK what the HW counts exactly but perhaps rlec includes other
> counters? Note that the stats you add with this patch are RFC 2819 /
> RMON counters, and AFAIU they overlap with IEEE counters.
>
> If the RMON counters are somehow exclusively counting their events
> you
> should update rx_length_errors as well.
Thanks for the feedback. I'm going to drop this patch for now so we can
double check that everything is being properly included/excluded.
Powered by blists - more mailing lists