DPDK patches and discussions
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@redhat.com>
To: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
Cc: Thomas Monjalon <thomas@monjalon.net>,
	"Richardson, Bruce" <bruce.richardson@intel.com>,
	 "dev@dpdk.org" <dev@dpdk.org>,
	"Lu, Wenzhuo" <wenzhuo.lu@intel.com>,
	 "Wu, Jingjing" <jingjing.wu@intel.com>,
	"Iremonger, Bernard" <bernard.iremonger@intel.com>,
	 Maxime Coquelin <mcoqueli@redhat.com>,
	"Yigit, Ferruh" <ferruh.yigit@intel.com>,
	Andrew Rybchenko <arybchenko@solarflare.com>,
	"Wiles, Keith" <keith.wiles@intel.com>
Subject: Re: [dpdk-dev] [PATCH 3/5] app/testpmd: add missing transmit errors stats
Date: Wed, 20 Feb 2019 09:33:45 +0100	[thread overview]
Message-ID: <CAJFAV8wXK8spNVL0SUmQfCxp2zsp+D9Ysjk_TXg4Yrsoqz7wFw@mail.gmail.com> (raw)
In-Reply-To: <2601191342CEEE43887BDE71AB977258012413A7C2@irsmsx105.ger.corp.intel.com>

Hello Konstantin,

On Sat, Feb 16, 2019 at 1:50 PM Ananyev, Konstantin <
konstantin.ananyev@intel.com> wrote:

>
>
> > -----Original Message-----
> > From: Thomas Monjalon [mailto:thomas@monjalon.net]
> > Sent: Friday, February 15, 2019 7:39 PM
> > To: Ananyev, Konstantin <konstantin.ananyev@intel.com>
> > Cc: David Marchand <david.marchand@redhat.com>; Richardson, Bruce <
> bruce.richardson@intel.com>; dev@dpdk.org; Lu, Wenzhuo
> > <wenzhuo.lu@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>;
> Iremonger, Bernard <bernard.iremonger@intel.com>; Maxime Coquelin
> > <mcoqueli@redhat.com>; Yigit, Ferruh <ferruh.yigit@intel.com>; Andrew
> Rybchenko <arybchenko@solarflare.com>; Wiles, Keith
> > <keith.wiles@intel.com>
> > Subject: Re: [dpdk-dev] [PATCH 3/5] app/testpmd: add missing transmit
> errors stats
> >
> > 15/02/2019 19:42, Ananyev, Konstantin:
> > > >>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of David
> Marchand
> > > >>> I am also for option 2 especially because of this.
> > > >>> A driver that refuses a packet for reason X (which is a
> limitation, or an
> > > >>> incorrect config or whatever that is not a transient condition)
> but gives
> > > >>> it back to the application is a bad driver.
> > >
> > > >>Why? What.s wrong to leave it to the upper layer to decide what to
> > > >>do with the packets that can't be sent (by one reason or another)?
> > >
> > > >How does the upper layer know if this is a transient state or
> something that can't be resolved?
> > >
> > > Via rte_errno, for example.
> >
> > rte_errno is not a result per packet.
>
> Surely it is not.
> But tx_burst() can return after first failure.
>
> > I think it is better to "eat" the packet
> > as it is done for those transmitted to the HW.
>
> Probably extra clarification is needed here.
> Right now tx_burst (at least for PMDs I am aware about) doesn't
> do any checking that:
> -  packet is correct and can be handled
>    (this is responsibility of tx_prepare)
> - HW/PMD SW state is in valid and properly configured
>   (link is up, queue is configured, HW initialized properly).
>
> All that really tx_burst() care about -there is enough free TX
> descriptors to fill. When that happens - tx_burst() returns
> straightway.
>
> So what particular error conditions are you talking about,
> and when you think we have to 'eat' the packets?
>

- This is how Intel drivers are written yes.
But some drivers try to do more and have (useless ?) checks on mbufs or
internal states.

Found the following ones last week.
There are more but it takes time to investigate.
https://git.dpdk.org/dpdk/tree/drivers/net/atlantic/atl_rxtx.c?id=b13baac8d5ffb6b0b7a6ca0def884d3f1a82babb#n1346
https://git.dpdk.org/dpdk/tree/drivers/net/fm10k/fm10k_rxtx.c?id=b13baac8d5ffb6b0b7a6ca0def884d3f1a82babb#n646
https://git.dpdk.org/dpdk/tree/drivers/net/cxgbe/sge.c?id=b13baac8d5ffb6b0b7a6ca0def884d3f1a82babb#n1123

I would say first, we can have a cleanup to get rid of the unneeded checks,
and see what the different maintainers think about this.
Then look again at the situation.


- I will drop this patch on testpmd which was wrong.
But I intend to send an update on the doc to describe oerrors as solution 2:
2/ API break = oerrors stop being incremented for temporary
        unavailability (i.e. queue full, kind of ERETRY),
        report only packets which will be never sent,
        may be a small performance gain for some drivers

There is some cleanup to do as well in quite a few drivers.


-- 
David Marchand

  reply	other threads:[~2019-02-20  8:33 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-14 15:42 [dpdk-dev] [PATCH 0/5] display testpmd forwarding engine stats on the fly David Marchand
2019-02-14 15:42 ` [dpdk-dev] [PATCH 1/5] app/testpmd: remove unused fwd_ctx field David Marchand
2019-02-18 19:55   ` Rami Rosen
2019-02-14 15:42 ` [dpdk-dev] [PATCH 2/5] app/testpmd: add missing newline when showing statistics David Marchand
2019-02-19  5:48   ` Rami Rosen
2019-02-14 15:42 ` [dpdk-dev] [PATCH 3/5] app/testpmd: add missing transmit errors stats David Marchand
2019-02-14 16:30   ` Bruce Richardson
2019-02-14 17:39     ` David Marchand
2019-02-14 18:51       ` David Marchand
2019-02-15  8:57         ` Thomas Monjalon
2019-02-15  9:33           ` David Marchand
2019-02-15 14:05             ` Bruce Richardson
2019-02-15 14:13               ` Wiles, Keith
2019-02-15 15:04               ` David Marchand
2019-02-15 16:19                 ` Thomas Monjalon
2019-02-15 17:32                   ` David Marchand
2019-02-15 18:15                     ` Ananyev, Konstantin
2019-02-15 18:31                       ` David Marchand
2019-02-15 18:42                         ` Ananyev, Konstantin
2019-02-15 19:38                           ` Thomas Monjalon
2019-02-16  0:37                             ` Stephen Hemminger
2019-02-16 13:23                               ` Ananyev, Konstantin
2019-02-16 12:50                             ` Ananyev, Konstantin
2019-02-20  8:33                               ` David Marchand [this message]
2019-02-24 11:55                                 ` Ananyev, Konstantin
2019-02-14 15:42 ` [dpdk-dev] [PATCH 4/5] app/testpmd: remove useless casts on statistics David Marchand
2019-02-14 15:42 ` [dpdk-dev] [PATCH 5/5] app/testpmd: display/clear forwarding stats on demand David Marchand
2019-03-11 15:35 ` [dpdk-dev] [PATCH v2 0/4] display testpmd forwarding engine stats on the fly David Marchand
2019-03-11 15:35   ` [dpdk-dev] [PATCH v2 1/4] app/testpmd: remove unused fwd_ctx field David Marchand
2019-03-19 18:29     ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit
2019-03-19 18:29       ` Ferruh Yigit
2019-03-11 15:35   ` [dpdk-dev] [PATCH v2 2/4] app/testpmd: add missing newline when showing statistics David Marchand
2019-03-11 15:53     ` Andrew Rybchenko
2019-03-11 15:35   ` [dpdk-dev] [PATCH v2 3/4] app/testpmd: remove useless casts on statistics David Marchand
2019-03-11 15:57     ` Andrew Rybchenko
2019-03-11 16:03       ` David Marchand
2019-03-11 15:35   ` [dpdk-dev] [PATCH v2 4/4] app/testpmd: display/clear forwarding stats on demand David Marchand
2019-03-20 10:02   ` [dpdk-dev] [PATCH v3 0/4] display testpmd forwarding engine stats on the fly David Marchand
2019-03-20 10:02     ` David Marchand
2019-03-20 10:02     ` [dpdk-dev] [PATCH v3 1/4] app/testpmd: add missing newline when showing statistics David Marchand
2019-03-20 10:02       ` David Marchand
2019-03-20 13:49       ` Andrew Rybchenko
2019-03-20 13:49         ` Andrew Rybchenko
2019-03-20 10:02     ` [dpdk-dev] [PATCH v3 2/4] app/testpmd: extend fwd statistics to 64bits David Marchand
2019-03-20 10:02       ` David Marchand
2019-03-20 13:55       ` Andrew Rybchenko
2019-03-20 13:55         ` Andrew Rybchenko
2019-03-20 10:02     ` [dpdk-dev] [PATCH v3 3/4] app/testpmd: remove useless casts on statistics David Marchand
2019-03-20 10:02       ` David Marchand
2019-03-20 13:58       ` Andrew Rybchenko
2019-03-20 13:58         ` Andrew Rybchenko
2019-03-20 10:02     ` [dpdk-dev] [PATCH v3 4/4] app/testpmd: display/clear forwarding stats on demand David Marchand
2019-03-20 10:02       ` David Marchand
2019-03-20 12:25       ` Ferruh Yigit
2019-03-20 12:25         ` Ferruh Yigit
2019-03-20 12:44         ` David Marchand
2019-03-20 12:44           ` David Marchand
2019-03-20 13:29           ` Ferruh Yigit
2019-03-20 13:29             ` Ferruh Yigit
2019-03-21 18:50       ` Ferruh Yigit
2019-03-21 18:50         ` Ferruh Yigit
2019-03-21 20:34         ` David Marchand
2019-03-21 20:34           ` David Marchand
2019-03-22 13:37     ` [dpdk-dev] [PATCH v4 0/4] display testpmd forwarding engine stats on the fly David Marchand
2019-03-22 13:37       ` David Marchand
2019-03-22 13:37       ` [dpdk-dev] [PATCH v4 1/4] app/testpmd: add missing newline when showing statistics David Marchand
2019-03-22 13:37         ` David Marchand
2019-03-22 17:03         ` Maxime Coquelin
2019-03-22 17:03           ` Maxime Coquelin
2019-03-22 17:17         ` Maxime Coquelin
2019-03-22 17:17           ` Maxime Coquelin
2019-03-22 17:23           ` David Marchand
2019-03-22 17:23             ` David Marchand
2019-03-22 17:31             ` Andrew Rybchenko
2019-03-22 17:31               ` Andrew Rybchenko
2019-03-22 17:35         ` Andrew Rybchenko
2019-03-22 17:35           ` Andrew Rybchenko
2019-03-22 17:43           ` David Marchand
2019-03-22 17:43             ` David Marchand
2019-03-23 19:12             ` David Marchand
2019-03-23 19:12               ` David Marchand
2019-03-25  6:34               ` Andrew Rybchenko
2019-03-25  6:34                 ` Andrew Rybchenko
2019-03-22 13:37       ` [dpdk-dev] [PATCH v4 2/4] app/testpmd: extend fwd statistics to 64bits David Marchand
2019-03-22 13:37         ` David Marchand
2019-03-22 17:06         ` Maxime Coquelin
2019-03-22 17:06           ` Maxime Coquelin
2019-03-22 13:37       ` [dpdk-dev] [PATCH v4 3/4] app/testpmd: remove useless casts on statistics David Marchand
2019-03-22 13:37         ` David Marchand
2019-03-22 17:11         ` Maxime Coquelin
2019-03-22 17:11           ` Maxime Coquelin
2019-03-22 13:37       ` [dpdk-dev] [PATCH v4 4/4] app/testpmd: display/clear forwarding stats on demand David Marchand
2019-03-22 13:37         ` David Marchand
2019-03-22 17:22         ` Maxime Coquelin
2019-03-22 17:22           ` Maxime Coquelin
2019-03-25  8:51       ` [dpdk-dev] [PATCH v5 0/4] display testpmd forwarding engine stats on the fly David Marchand
2019-03-25  8:51         ` David Marchand
2019-03-25  8:51         ` [dpdk-dev] [PATCH v5 1/4] app/testpmd: add missing newline when showing statistics David Marchand
2019-03-25  8:51           ` David Marchand
2019-03-25  8:55           ` Andrew Rybchenko
2019-03-25  8:55             ` Andrew Rybchenko
2019-03-25  8:51         ` [dpdk-dev] [PATCH v5 2/4] app/testpmd: extend fwd statistics to 64bits David Marchand
2019-03-25  8:51           ` David Marchand
2019-03-25  8:51         ` [dpdk-dev] [PATCH v5 3/4] app/testpmd: remove useless casts on statistics David Marchand
2019-03-25  8:51           ` David Marchand
2019-03-25  8:51         ` [dpdk-dev] [PATCH v5 4/4] app/testpmd: display/clear forwarding stats on demand David Marchand
2019-03-25  8:51           ` David Marchand
2019-03-25 14:05         ` [dpdk-dev] [PATCH v5 0/4] display testpmd forwarding engine stats on the fly Ferruh Yigit
2019-03-25 14:05           ` Ferruh Yigit

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=CAJFAV8wXK8spNVL0SUmQfCxp2zsp+D9Ysjk_TXg4Yrsoqz7wFw@mail.gmail.com \
    --to=david.marchand@redhat.com \
    --cc=arybchenko@solarflare.com \
    --cc=bernard.iremonger@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=jingjing.wu@intel.com \
    --cc=keith.wiles@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=mcoqueli@redhat.com \
    --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).