DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: "A.McLoughlin" <aideen.mcloughlin@intel.com>,
	Wenzhuo Lu <wenzhuo.lu@intel.com>,
	Jingjing Wu <jingjing.wu@intel.com>,
	Bernard Iremonger <bernard.iremonger@intel.com>
Cc: dev@dpdk.org, david.marchand@redhat.com, stable@dpdk.org,
	Andrew Rybchenko <arybchenko@solarflare.com>,
	Thomas Monjalon <thomas@monjalon.net>,
	Stephen Hemminger <stephen@networkplumber.org>
Subject: Re: [dpdk-dev] [PATCH] app/testpmd: fix doubling of 'total TX dropped'
Date: Mon, 15 Jul 2019 15:53:55 +0100	[thread overview]
Message-ID: <c1cdafc1-580b-713a-555d-ed31a031d5a5@intel.com> (raw)
In-Reply-To: <20190712083221.4987-1-aideen.mcloughlin@intel.com>

On 7/12/2019 9:32 AM, A.McLoughlin wrote:
> The 'Accumulated forward statistics for all ports' incorrectly displayed
> double the actual value for 'total_tx_dropped'. This was because 2
> lines in the same function both incremented total_tx_dropped every time
> a packet was dropped.  I removed one of these lines to fix this issue.
> 
> Fixes: 53324971a14e ("app/testpmd: display/clear forwarding stats on demand")
> Cc: david.marchand@redhat.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: A.McLoughlin <aideen.mcloughlin@intel.com>
> ---
>  app/test-pmd/testpmd.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
> index 3ed3523b7..c41bada50 100644
> --- a/app/test-pmd/testpmd.c
> +++ b/app/test-pmd/testpmd.c
> @@ -1555,7 +1555,6 @@ fwd_stats_display(void)
>  		total_recv += stats.ipackets;
>  		total_xmit += stats.opackets;
>  		total_rx_dropped += stats.imissed;
> -		total_tx_dropped += ports_stats[pt_id].tx_dropped;
>  		total_tx_dropped += stats.oerrors;
>  		total_rx_nombuf  += stats.rx_nombuf;
>  
> 

Hi Aideen,

Indeed 'rte_eth_stats->oerrors' and 'tx_dropped' are different values,

in testpmd, 'TX-total' is taken as "total_xmit + total_tx_dropped", from this
description it may be fair to say
"total_tx_dropped = oerrors + tx_dropped"

This is easier to see in HW devices, 'oerrors' is the packets sent to HW but HW
reported failure for some reason, so these packets not transmitted to the medium.
'tx_dropped' is mostly calculated by application, driver returns packets that
can't able to sent to HW, so application can re-try to send or free them and
increase 'tx_dropped' counter.


The problem is in the virtual drivers, the packets not able to sent are
calculated as 'oerrors' and tx_burst functions returns the number of the
successfully sent packets which cause application calculate remaining ones as
'tx_dropped' which cause the duplication.

In virtual drivers we need to give a decision, if free the wrong packets and
increase the 'oerrors' or return packets backs to application without increasing
the 'oerrors', so that application can try to do something with packets or free
them increasing 'tx_dropped'.

@David, @Andrew, do you have a suggestion?




  parent reply	other threads:[~2019-07-15 14:54 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-12  8:32 A.McLoughlin
2019-07-12 13:33 ` Iremonger, Bernard
2019-07-15 14:53 ` Ferruh Yigit [this message]
2019-07-16 12:23   ` Andrew Rybchenko
2019-07-16 14:23     ` Ferruh Yigit
2019-07-16 14:28       ` Bruce Richardson
2019-07-16 15:00         ` Andrew Rybchenko
2019-07-16 15:29           ` Ferruh Yigit
2019-07-23 11:16             ` 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=c1cdafc1-580b-713a-555d-ed31a031d5a5@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=aideen.mcloughlin@intel.com \
    --cc=arybchenko@solarflare.com \
    --cc=bernard.iremonger@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=jingjing.wu@intel.com \
    --cc=stable@dpdk.org \
    --cc=stephen@networkplumber.org \
    --cc=thomas@monjalon.net \
    --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).