All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: David Marchand <david.marchand@redhat.com>
Cc: dev@dpdk.org, Ferruh Yigit <ferruh.yigit@intel.com>,
	Andrew Rybchenko <arybchenko@solarflare.com>,
	"Stokes, Ian" <ian.stokes@intel.com>,
	Stephen Hemminger <stephen@networkplumber.org>
Subject: Re: [dpdk-dev] [RFC PATCH 1/2] ethdev: introduce internal rxq/txq stats API
Date: Fri, 12 Apr 2019 15:29:20 +0200	[thread overview]
Message-ID: <1745620.RIKK5OcHtz@xps> (raw)
In-Reply-To: <CAJFAV8xmVb1W9Gyv2Mzq4s8x65zO_i8B96cvWanqsmR5Hs2RBw@mail.gmail.com>

26/03/2019 10:29, David Marchand:
> On Tue, Mar 19, 2019 at 6:18 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> 
> > On 3/14/2019 3:13 PM, David Marchand wrote:
> > > Introduce a new api to retrieve per queue statistics from the drivers.
> > > The api objectives:
> > > - easily add some common per queue statistics and have it exposed
> > >   through the user xstats api while the user stats api is left untouched
> > > - remove the limitations on the per queue statistics count (inherited
> > >   from ixgbe) and avoid recurrent bugs on stats array overflow

First comment, I think it would be easier to read if renaming the legacy
basic stats interface was in a separate patch.

> > The patch is adding two new dev_ops 'rxq_stats_get' & 'txq_stats_get', my
> > concern is if it is overkill to have three dev_ops to get stats
> > and I am feeling that is making xstat code more complex.
> 
> Having these new (meant to be) internal dev_ops has the avantage of
> separating the statistics reported from the drivers from the exported api.
> This is also why I did not prefix the structure names with rte_.

Yes, and to make it clear, please do not talk about API,
as it is only a driver interface.

> The "complex" part is in a single place, ethdev and this is when
> translating from an internal representation to the exposed bits in the
> public apis.
> 
> Would it be simpler to add 'q_ierrors' & 'q_oerrors' to 'struct
> > rte_eth_stats'?
> >
> 
> It does not solve the problem of drivers that are buggy because of the
> limit on RTE_ETHDEV_QUEUE_STAT_CNTRS.
> All drivers need to be aware of this limitation of the rte_eth_stats
> structure.

Yes, this limitation should be dropped.
I would like to see the functions rte_eth_dev_set_?x_queue_stats_mapping()
deprecated as they were a bad abstraction of ixgbe limitation.

> The drivers manipulate queues in rx/tx_queue_setup dev_ops for example,
> having rxq/txq_stats_get dev_ops is more consistent to me.

+1

> > And perhaps we can do the 'fix rxq q_errors' patchset [1] after this
> > change, so
> > fix can be done with less changes, although it will push the fix into next
> > release because of the ABI break.
> 
> I am fine with merging this together, we don't want to backport this
> anyway, right?

No, it would make some behaviours changing in stable releases,
so better to not backport it and keep the buggy behaviour in old branches.

> But so far, I don't feel the need to break the rte_eth_stats_get API, if we
> want to go to this, we can define an entirely new api to expose
> standardized bits and still use the rxq/txq_stats_get internal dev_ops I
> propose.

Good



  reply	other threads:[~2019-04-12 13:29 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-04 11:18 [PATCH 00/12] rxq q_errors[] statistics fixes David Marchand
2019-03-04 11:18 ` [PATCH 01/12] net/af_packet: fix incorrect rxq errors stat David Marchand
2019-03-04 11:18 ` [PATCH 02/12] net/avp: " David Marchand
2019-03-04 12:18   ` Legacy, Allain
2019-03-04 11:18 ` [PATCH 03/12] net/bnxt: " David Marchand
2019-03-04 11:18 ` [PATCH 04/12] net/cxgbe: " David Marchand
2019-03-04 11:18 ` [PATCH 05/12] net/kni: " David Marchand
2019-03-04 11:18 ` [PATCH 06/12] net/mlx4: " David Marchand
2019-03-05  8:19   ` Shahaf Shuler
2019-03-04 11:18 ` [PATCH 07/12] net/mlx5: " David Marchand
2019-03-05  8:18   ` Shahaf Shuler
2019-03-04 11:18 ` [PATCH 08/12] net/null: " David Marchand
2019-03-04 11:18 ` [PATCH 09/12] net/pcap: " David Marchand
2019-03-04 11:18 ` [PATCH 10/12] net/ring: " David Marchand
2019-03-04 11:18 ` [PATCH 11/12] net/szedata2: " David Marchand
2019-03-04 11:18 ` [PATCH 12/12] net/tap: " David Marchand
2019-03-04 13:58   ` Wiles, Keith
2019-03-11 17:22 ` [PATCH 00/12] rxq q_errors[] statistics fixes Ferruh Yigit
2019-03-11 18:09   ` David Marchand
2019-03-14 15:12     ` David Marchand
2019-03-14 15:13       ` [RFC PATCH 1/2] ethdev: introduce internal rxq/txq stats API David Marchand
2019-03-14 15:13         ` [RFC PATCH 2/2] net/af_packet: convert to new " David Marchand
2019-03-15 13:30         ` [RFC PATCH 1/2] ethdev: introduce internal " David Marchand
2019-03-19 17:18         ` Ferruh Yigit
2019-03-19 17:54           ` Stephen Hemminger
2019-04-12 13:18             ` [dpdk-dev] " Thomas Monjalon
2019-03-26  9:29           ` David Marchand
2019-04-12 13:29             ` Thomas Monjalon [this message]
2019-04-12 14:32               ` [dpdk-dev] " David Marchand
2019-04-12 16:05                 ` Stephen Hemminger
2019-04-12 15:07   ` [dpdk-dev] [PATCH 00/12] rxq q_errors[] statistics fixes Thomas Monjalon
2019-04-12 15:38     ` Ferruh Yigit
2019-04-12 15:45       ` Thomas Monjalon
2019-04-12 15:57         ` Ferruh Yigit
2019-05-28 21:38 ` Yigit, Ferruh

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=1745620.RIKK5OcHtz@xps \
    --to=thomas@monjalon.net \
    --cc=arybchenko@solarflare.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=ian.stokes@intel.com \
    --cc=stephen@networkplumber.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.