DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Zhang, Qi Z" <qi.z.zhang@intel.com>
To: David Marchand <david.marchand@redhat.com>,
	"Su, Simei" <simei.su@intel.com>
Cc: "qi.zi.zhang@intel.com" <qi.zi.zhang@intel.com>,
	"Lu, Wenzhuo" <wenzhuo.lu@intel.com>,
	"Yang, Qiming" <qiming.yang@intel.com>, dev <dev@dpdk.org>,
	dpdk stable <stable@dpdk.org>
Subject: Re: [dpdk-dev] [DPDK] net/ice: fix Rx statistics
Date: Thu, 25 Apr 2019 07:30:05 +0000	[thread overview]
Message-ID: <039ED4275CED7440929022BC67E706115336F811@SHSMSX103.ccr.corp.intel.com> (raw)
Message-ID: <20190425073005.jlPrLdslo8VFRE6ISF_6SaB4XaoS0csDy0kzGyGsInI@z> (raw)
In-Reply-To: <CAJFAV8yVYUyUq-JWN55LTvbuLdJfGZUC8Osfk3dZnh-d0jSPeA@mail.gmail.com>

Hi David:

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of David Marchand
> Sent: Thursday, April 25, 2019 3:13 PM
> To: Su, Simei <simei.su@intel.com>
> Cc: qi.zi.zhang@intel.com; Lu, Wenzhuo <wenzhuo.lu@intel.com>; Yang,
> Qiming <qiming.yang@intel.com>; dev <dev@dpdk.org>; dpdk stable
> <stable@dpdk.org>
> Subject: Re: [dpdk-dev] [DPDK] net/ice: fix Rx statistics
> 
> On Wed, Apr 24, 2019 at 9:47 AM simei <simei.su@intel.com> wrote:
> 
> > The RX stats will increase even no packets sent, this patch fix this
> > issue by modifying ipackets and ibytes statistics based on vsi instead
> > of port to avoid statistics error.
> >
> > Fixes: a37bde56314d ("net/ice: support statistics")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Simei Su <simei.su@intel.com>
> > ---
> >  drivers/net/ice/ice_ethdev.c | 9 ++++-----
> >  1 file changed, 4 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/net/ice/ice_ethdev.c
> > b/drivers/net/ice/ice_ethdev.c index 0946b19..1c851ac 100644
> > --- a/drivers/net/ice/ice_ethdev.c
> > +++ b/drivers/net/ice/ice_ethdev.c
> > @@ -3305,15 +3305,14 @@ static int ice_rx_queue_intr_disable(struct
> > rte_eth_dev *dev,
> >         /* call read registers - updates values, now write them to
> > struct */
> >         ice_read_stats_registers(pf, hw);
> >
> > -       stats->ipackets = ns->eth.rx_unicast +
> > -                         ns->eth.rx_multicast +
> > -                         ns->eth.rx_broadcast -
> > -                         ns->eth.rx_discards -
> > +       stats->ipackets = pf->main_vsi->eth_stats.rx_unicast +
> > +                         pf->main_vsi->eth_stats.rx_multicast +
> > +                         pf->main_vsi->eth_stats.rx_broadcast -
> >                           pf->main_vsi->eth_stats.rx_discards;
> >         stats->opackets = ns->eth.tx_unicast +
> >                           ns->eth.tx_multicast +
> >                           ns->eth.tx_broadcast;
> > -       stats->ibytes   = ns->eth.rx_bytes;
> > +       stats->ibytes   = pf->main_vsi->eth_stats.rx_bytes;
> >         stats->obytes   = ns->eth.tx_bytes;
> >         stats->oerrors  = ns->eth.tx_errors +
> >                           pf->main_vsi->eth_stats.tx_errors;
> > --
> > 1.8.3.1
> >
> >
> I don't know this hw nor this code.
> However, from the description and this snippet, it looks like
> opackets/obytes/oerrors are still referring to port stats instead of the pf stats.
> Can you elaborate ?

For Rx, packet comes to port then vsi,  so we count vsi->rx for how many valid packet we received.
For Tx, packet comes to vsi then port,  so we count port->tx for how many packet we exactly sent out?

Does this make sense?

Btw, this is the same way we handled statistics on i40e.
  
Regards
Qi

> 
> Thanks.
> 
> 
> --
> David Marchand

  parent reply	other threads:[~2019-04-25  7:30 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-24  7:06 simei
2019-04-24  7:06 ` simei
2019-04-25  7:06 ` Zhang, Qi Z
2019-04-25  7:06   ` Zhang, Qi Z
2019-04-25  7:12 ` David Marchand
2019-04-25  7:12   ` David Marchand
2019-04-25  7:30   ` Zhang, Qi Z [this message]
2019-04-25  7:30     ` Zhang, Qi Z
2019-04-25  7:34     ` David Marchand
2019-04-25  7:34       ` David Marchand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=039ED4275CED7440929022BC67E706115336F811@SHSMSX103.ccr.corp.intel.com \
    --to=qi.z.zhang@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=qi.zi.zhang@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=simei.su@intel.com \
    --cc=stable@dpdk.org \
    --cc=wenzhuo.lu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).