From: "Tahhan, Maryam" <maryam.tahhan@intel.com>
To: "Van Haaren, Harry" <harry.van.haaren@intel.com>,
"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v3 03/11] ethdev: update xstats_get() strings and Q handling
Date: Fri, 23 Oct 2015 14:35:28 +0000 [thread overview]
Message-ID: <1A27633A6DA49C4A92FCD5D4312DBF536A5D93C0@IRSMSX109.ger.corp.intel.com> (raw)
In-Reply-To: <1445528914-27636-4-git-send-email-harry.van.haaren@intel.com>
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Harry van Haaren
> Sent: Thursday, October 22, 2015 4:48 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v3 03/11] ethdev: update xstats_get() strings and
> Q handling
>
> Update the strings used for presenting stats to adhere to the scheme
> previously presented. Updated xstats_get() function to handle Q information
> only if xstats() is not implemented in the PMD, providing the PMD with the
> needed flexibility to expose its extended Q stats.
>
> Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
> ---
> lib/librte_ether/rte_ethdev.c | 38 +++++++++++++++++++++++---------------
> 1 file changed, 23 insertions(+), 15 deletions(-)
>
> diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
> index f593f6e..07f0c26 100644
> --- a/lib/librte_ether/rte_ethdev.c
> +++ b/lib/librte_ether/rte_ethdev.c
> @@ -137,27 +137,30 @@ struct rte_eth_xstats_name_off { };
>
> static const struct rte_eth_xstats_name_off rte_stats_strings[] = {
> - {"rx_packets", offsetof(struct rte_eth_stats, ipackets)},
> - {"tx_packets", offsetof(struct rte_eth_stats, opackets)},
> - {"rx_bytes", offsetof(struct rte_eth_stats, ibytes)},
> - {"tx_bytes", offsetof(struct rte_eth_stats, obytes)},
> - {"tx_errors", offsetof(struct rte_eth_stats, oerrors)},
> + {"rx_good_packets", offsetof(struct rte_eth_stats, ipackets)},
> + {"tx_good_packets", offsetof(struct rte_eth_stats, opackets)},
> + {"rx_good_bytes", offsetof(struct rte_eth_stats, ibytes)},
> + {"tx_good_bytes", offsetof(struct rte_eth_stats, obytes)},
Hi Harry
If there are any apps today scraping the existing stats this will cause an issue.
I think the "good" description breaks the meaning of the various stats defined in the header. For example rx_packets is Total number of successfully received packets rather than the "good" packets.
BR
Maryam
> {"rx_errors", offsetof(struct rte_eth_stats, ierrors)},
> - {"alloc_rx_buff_failed", offsetof(struct rte_eth_stats, rx_nombuf)},
> + {"tx_errors", offsetof(struct rte_eth_stats, oerrors)},
> + {"rx_mbuf_allocation_errors", offsetof(struct rte_eth_stats,
> + rx_nombuf)},
> };
> +
> #define RTE_NB_STATS (sizeof(rte_stats_strings) / sizeof(rte_stats_strings[0]))
>
> static const struct rte_eth_xstats_name_off rte_rxq_stats_strings[] = {
> - {"rx_packets", offsetof(struct rte_eth_stats, q_ipackets)},
> - {"rx_bytes", offsetof(struct rte_eth_stats, q_ibytes)},
> + {"packets", offsetof(struct rte_eth_stats, q_ipackets)},
> + {"bytes", offsetof(struct rte_eth_stats, q_ibytes)},
> + {"errors", offsetof(struct rte_eth_stats, q_errors)},
> };
> +
> #define RTE_NB_RXQ_STATS (sizeof(rte_rxq_stats_strings) / \
> sizeof(rte_rxq_stats_strings[0]))
>
> static const struct rte_eth_xstats_name_off rte_txq_stats_strings[] = {
> - {"tx_packets", offsetof(struct rte_eth_stats, q_opackets)},
> - {"tx_bytes", offsetof(struct rte_eth_stats, q_obytes)},
> - {"tx_errors", offsetof(struct rte_eth_stats, q_errors)},
> + {"packets", offsetof(struct rte_eth_stats, q_opackets)},
> + {"bytes", offsetof(struct rte_eth_stats, q_obytes)},
> };
> #define RTE_NB_TXQ_STATS (sizeof(rte_txq_stats_strings) / \
> sizeof(rte_txq_stats_strings[0]))
> @@ -1666,8 +1669,6 @@ rte_eth_xstats_get(uint8_t port_id, struct
> rte_eth_xstats *xstats,
>
> /* Return generic statistics */
> count = RTE_NB_STATS;
> - count += dev->data->nb_rx_queues * RTE_NB_RXQ_STATS;
> - count += dev->data->nb_tx_queues * RTE_NB_TXQ_STATS;
>
> /* implemented by the driver */
> if (dev->dev_ops->xstats_get != NULL) { @@ -1679,6 +1680,9 @@
> rte_eth_xstats_get(uint8_t port_id, struct rte_eth_xstats *xstats,
>
> if (xcount < 0)
> return xcount;
> + } else {
> + count += dev->data->nb_rx_queues * RTE_NB_RXQ_STATS;
> + count += dev->data->nb_tx_queues * RTE_NB_TXQ_STATS;
> }
>
> if (n < count + xcount)
> @@ -1698,6 +1702,10 @@ rte_eth_xstats_get(uint8_t port_id, struct
> rte_eth_xstats *xstats,
> xstats[count++].value = val;
> }
>
> + /* if xstats_get() is implemented by the PMD, the Q stats are done */
> + if (dev->dev_ops->xstats_get != NULL)
> + return count + xcount;
> +
> /* per-rxq stats */
> for (q = 0; q < dev->data->nb_rx_queues; q++) {
> for (i = 0; i < RTE_NB_RXQ_STATS; i++) { @@ -1706,7 +1714,7
> @@ rte_eth_xstats_get(uint8_t port_id, struct rte_eth_xstats *xstats,
> q * sizeof(uint64_t));
> val = *stats_ptr;
> snprintf(xstats[count].name,
> sizeof(xstats[count].name),
> - "rx_queue_%u_%s", q,
> + "rx_q%u_%s", q,
> rte_rxq_stats_strings[i].name);
> xstats[count++].value = val;
> }
> @@ -1720,7 +1728,7 @@ rte_eth_xstats_get(uint8_t port_id, struct
> rte_eth_xstats *xstats,
> q * sizeof(uint64_t));
> val = *stats_ptr;
> snprintf(xstats[count].name,
> sizeof(xstats[count].name),
> - "tx_queue_%u_%s", q,
> + "tx_q%u_%s", q,
> rte_txq_stats_strings[i].name);
> xstats[count++].value = val;
> }
> --
> 1.9.1
next prev parent reply other threads:[~2015-10-23 14:35 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-30 9:40 [dpdk-dev] [PATCH v2 00/11] Port XStats Harry van Haaren
2015-09-30 9:40 ` [dpdk-dev] [PATCH v2 01/11] doc: add extended statistics notes Harry van Haaren
2015-10-22 15:48 ` [dpdk-dev] [PATCH v3 00/11] Port XStats Harry van Haaren
2015-10-22 15:48 ` [dpdk-dev] [PATCH v3 01/11] doc: add extended statistics notes Harry van Haaren
2015-10-30 11:36 ` [dpdk-dev] [PATCH v4 00/10] Port XStats Harry van Haaren
2015-10-30 11:36 ` [dpdk-dev] [PATCH v4 01/10] doc: add extended statistics to prog_guide Harry van Haaren
2015-11-02 10:18 ` [dpdk-dev] [PATCH v5 00/10] Port XStats Harry van Haaren
2015-11-02 10:18 ` [dpdk-dev] [PATCH v5 01/10] doc: add extended statistics to prog_guide Harry van Haaren
2015-11-02 10:18 ` [dpdk-dev] [PATCH v5 02/10] ethdev: update xstats_get() strings and Q handling Harry van Haaren
2015-11-02 10:19 ` [dpdk-dev] [PATCH v5 03/10] virtio: add xstats() implementation Harry van Haaren
2015-11-02 10:19 ` [dpdk-dev] [PATCH v5 04/10] igb: " Harry van Haaren
2015-11-02 10:19 ` [dpdk-dev] [PATCH v5 05/10] igbvf: " Harry van Haaren
2015-11-02 10:19 ` [dpdk-dev] [PATCH v5 06/10] ixgbe: add extended statistic strings Harry van Haaren
2015-11-02 22:31 ` Thomas Monjalon
2015-11-02 10:19 ` [dpdk-dev] [PATCH v5 07/10] ixgbevf: add xstats() implementation Harry van Haaren
2015-11-02 10:19 ` [dpdk-dev] [PATCH v5 08/10] i40e: " Harry van Haaren
2015-11-02 10:19 ` [dpdk-dev] [PATCH v5 09/10] i40evf: " Harry van Haaren
2015-11-02 10:19 ` [dpdk-dev] [PATCH v5 10/10] fm10k: " Harry van Haaren
2015-11-02 10:24 ` [dpdk-dev] [PATCH v5 00/10] Port XStats Van Haaren, Harry
2015-11-02 23:23 ` Thomas Monjalon
2015-10-30 11:36 ` [dpdk-dev] [PATCH v4 02/10] ethdev: update xstats_get() strings and Q handling Harry van Haaren
2015-11-02 7:59 ` Thomas Monjalon
2015-11-02 10:17 ` Van Haaren, Harry
2015-11-02 16:23 ` Thomas Monjalon
2015-10-30 11:36 ` [dpdk-dev] [PATCH v4 03/10] virtio: add xstats() implementation Harry van Haaren
2015-10-30 11:36 ` [dpdk-dev] [PATCH v4 04/10] igb: " Harry van Haaren
2015-10-30 11:36 ` [dpdk-dev] [PATCH v4 05/10] igbvf: " Harry van Haaren
2015-10-30 11:36 ` [dpdk-dev] [PATCH v4 06/10] ixgbe: add extended statistic strings Harry van Haaren
2015-10-30 11:36 ` [dpdk-dev] [PATCH v4 07/10] ixgbevf: add xstats() implementation Harry van Haaren
2015-10-30 11:36 ` [dpdk-dev] [PATCH v4 08/10] i40e: " Harry van Haaren
2015-10-30 11:36 ` [dpdk-dev] [PATCH v4 09/10] i40evf: " Harry van Haaren
2015-10-30 11:36 ` [dpdk-dev] [PATCH v4 10/10] fm10k: " Harry van Haaren
2015-10-30 13:21 ` [dpdk-dev] [PATCH v4 00/10] Port XStats Tahhan, Maryam
2015-11-02 8:04 ` Thomas Monjalon
2015-10-22 15:48 ` [dpdk-dev] [PATCH v3 02/11] doc: add extended statistics to prog_guide Harry van Haaren
2015-10-23 14:29 ` Tahhan, Maryam
2015-10-22 15:48 ` [dpdk-dev] [PATCH v3 03/11] ethdev: update xstats_get() strings and Q handling Harry van Haaren
2015-10-23 14:35 ` Tahhan, Maryam [this message]
2015-10-23 15:28 ` Tahhan, Maryam
2015-10-23 15:28 ` Tahhan, Maryam
2015-10-22 15:48 ` [dpdk-dev] [PATCH v3 04/11] virtio: add xstats() implementation Harry van Haaren
2015-10-29 16:19 ` Tahhan, Maryam
2015-10-22 15:48 ` [dpdk-dev] [PATCH v3 05/11] igb: " Harry van Haaren
2015-10-23 14:56 ` Tahhan, Maryam
2015-10-22 15:48 ` [dpdk-dev] [PATCH v3 06/11] igbvf: " Harry van Haaren
2015-10-28 12:17 ` Tahhan, Maryam
2015-10-22 15:48 ` [dpdk-dev] [PATCH v3 07/11] ixgbe: update statistic strings to scheme Harry van Haaren
2015-10-23 14:41 ` Tahhan, Maryam
2015-10-22 15:48 ` [dpdk-dev] [PATCH v3 08/11] ixgbevf: add xstats() functions to VF Harry van Haaren
2015-10-28 12:16 ` Tahhan, Maryam
2015-10-22 15:48 ` [dpdk-dev] [PATCH v3 09/11] i40e: add xstats() implementation Harry van Haaren
2015-10-23 15:11 ` Tahhan, Maryam
2015-10-22 15:48 ` [dpdk-dev] [PATCH v3 10/11] i40evf: " Harry van Haaren
2015-10-28 12:15 ` Tahhan, Maryam
2015-10-22 15:48 ` [dpdk-dev] [PATCH v3 11/11] fm10k: " Harry van Haaren
2015-10-29 16:41 ` Tahhan, Maryam
2015-10-28 17:35 ` [dpdk-dev] [PATCH v3 00/11] Port XStats Tom Crugnale
2015-10-28 21:32 ` Stephen Hemminger
2015-10-29 0:55 ` Tom Crugnale
2015-10-29 12:55 ` Kyle Larose
2015-10-29 13:10 ` Thomas Monjalon
2015-10-29 13:57 ` Kyle Larose
2015-10-29 14:01 ` Thomas Monjalon
2015-10-29 14:10 ` Kyle Larose
2015-10-29 13:17 ` Van Haaren, Harry
2015-09-30 9:40 ` [dpdk-dev] [PATCH v2 02/11] doc: add extended statistics to prog_guide Harry van Haaren
2015-09-30 9:40 ` [dpdk-dev] [PATCH v2 03/11] ethdev: update xstats_get() strings and Q handling Harry van Haaren
2015-09-30 9:40 ` [dpdk-dev] [PATCH v2 04/11] virtio: add xstats() implementation Harry van Haaren
2015-09-30 17:44 ` Stephen Hemminger
2015-10-01 8:00 ` Van Haaren, Harry
2015-09-30 9:40 ` [dpdk-dev] [PATCH v2 05/11] igb: " Harry van Haaren
2015-09-30 9:40 ` [dpdk-dev] [PATCH v2 06/11] igbvf: " Harry van Haaren
2015-09-30 9:40 ` [dpdk-dev] [PATCH v2 07/11] ixgbe: update statistic strings to scheme Harry van Haaren
2015-09-30 9:40 ` [dpdk-dev] [PATCH v2 08/11] ixgbevf: add xstats() functions to VF Harry van Haaren
2015-09-30 9:40 ` [dpdk-dev] [PATCH v2 09/11] i40e: add xstats() implementation Harry van Haaren
2015-09-30 9:40 ` [dpdk-dev] [PATCH v2 10/11] i40evf: " Harry van Haaren
2015-09-30 9:40 ` [dpdk-dev] [PATCH v2 11/11] fm10k: " Harry van Haaren
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=1A27633A6DA49C4A92FCD5D4312DBF536A5D93C0@IRSMSX109.ger.corp.intel.com \
--to=maryam.tahhan@intel.com \
--cc=dev@dpdk.org \
--cc=harry.van.haaren@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).