From: Neil Horman <nhorman@tuxdriver.com>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: dev@dpdk.org, Stephen Hemminger <shemming@brocade.com>
Subject: Re: [dpdk-dev] [PATCH v2 4/7] rte_sched: don't clear statistics when read
Date: Thu, 5 Feb 2015 07:43:30 -0500 [thread overview]
Message-ID: <20150205124330.GB28355@hmsreliant.think-freely.org> (raw)
In-Reply-To: <1423116841-19799-4-git-send-email-stephen@networkplumber.org>
On Wed, Feb 04, 2015 at 10:13:58PM -0800, Stephen Hemminger wrote:
> From: Stephen Hemminger <shemming@brocade.com>
>
> Make rte_sched statistics API work like the ethernet statistics API.
> Don't auto-clear statistics.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> lib/librte_sched/rte_sched.c | 30 ++++++++++++++++++++++++++++++
> lib/librte_sched/rte_sched.h | 29 +++++++++++++++++++++++++++++
> 2 files changed, 59 insertions(+)
>
> diff --git a/lib/librte_sched/rte_sched.c b/lib/librte_sched/rte_sched.c
> index 8cb8bf1..d891e50 100644
> --- a/lib/librte_sched/rte_sched.c
> +++ b/lib/librte_sched/rte_sched.c
> @@ -935,6 +935,21 @@ rte_sched_subport_read_stats(struct rte_sched_port *port,
> }
>
> int
> +rte_sched_subport_stats_reset(struct rte_sched_port *port,
> + uint32_t subport_id)
> +{
> + struct rte_sched_subport *s;
> +
> + /* Check user parameters */
> + if (port == NULL || subport_id >= port->n_subports_per_port)
> + return -1;
> +
> + s = port->subport + subport_id;
> + memset(&s->stats, 0, sizeof(struct rte_sched_subport_stats));
> + return 0;
> +}
> +
> +int
> rte_sched_queue_read_stats(struct rte_sched_port *port,
> uint32_t queue_id,
> struct rte_sched_queue_stats *stats,
> @@ -963,6 +978,21 @@ rte_sched_queue_read_stats(struct rte_sched_port *port,
> return 0;
> }
>
> +int
> +rte_sched_queue_stats_reset(struct rte_sched_port *port,
> + uint32_t queue_id)
> +{
> + struct rte_sched_queue_extra *qe;
> +
> + /* Check user parameters */
> + if (port == NULL || queue_id >= rte_sched_port_queues_per_port(port))
> + return -1;
> +
> + qe = port->queue_extra + queue_id;
> + memset(&qe->stats, 0, sizeof(struct rte_sched_queue_stats));
> + return 0;
> +}
> +
> static inline uint32_t
> rte_sched_port_qindex(struct rte_sched_port *port, uint32_t subport, uint32_t pipe, uint32_t traffic_class, uint32_t queue)
> {
> diff --git a/lib/librte_sched/rte_sched.h b/lib/librte_sched/rte_sched.h
> index e9bf18a..3d007e4 100644
> --- a/lib/librte_sched/rte_sched.h
> +++ b/lib/librte_sched/rte_sched.h
> @@ -317,6 +317,21 @@ rte_sched_subport_read_stats(struct rte_sched_port *port,
> struct rte_sched_subport_stats *stats,
> uint32_t *tc_ov);
>
> +
> +/**
> + * Hierarchical scheduler subport statistics reset
> + *
> + * @param port
> + * Handle to port scheduler instance
> + * @param subport_id
> + * Subport ID
> + * @return
> + * 0 upon success, error code otherwise
> + */
> +int
> +rte_sched_subport_stats_reset(struct rte_sched_port *port,
> + uint32_t subport_id);
> +
> /**
> * Hierarchical scheduler queue statistics read
> *
> @@ -338,6 +353,20 @@ rte_sched_queue_read_stats(struct rte_sched_port *port,
> struct rte_sched_queue_stats *stats,
> uint16_t *qlen);
>
> +/**
> + * Hierarchical scheduler queue statistics reset
> + *
> + * @param port
> + * Handle to port scheduler instance
> + * @param queue_id
> + * Queue ID within port scheduler
> + * @return
> + * 0 upon success, error code otherwise
> + */
> +int
> +rte_sched_queue_stats_reset(struct rte_sched_port *port,
> + uint32_t queue_id);
> +
Both need to be added to the version map to expose them properly.
Neil
next prev parent reply other threads:[~2015-02-05 12:43 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-05 6:13 Stephen Hemminger
2015-02-05 6:13 ` [dpdk-dev] [PATCH v2 5/7] rte_sched: don't put tabs in log messages Stephen Hemminger
2015-02-20 18:33 ` Dumitrescu, Cristian
2015-02-05 6:14 ` [dpdk-dev] [PATCH v2 6/7] rte_sched: eliminate floating point in calculating byte clock Stephen Hemminger
2015-02-16 22:44 ` Dumitrescu, Cristian
2015-02-17 16:05 ` Stephen Hemminger
2015-02-05 6:14 ` [dpdk-dev] [PATCH v2 7/7] rte_sched: rearrange data structures Stephen Hemminger
2015-02-20 18:43 ` Dumitrescu, Cristian
2015-02-05 12:43 ` Neil Horman [this message]
2015-02-23 23:51 ` [dpdk-dev] [PATCH v2 4/7] rte_sched: don't clear statistics when read Thomas Monjalon
[not found] ` <fa17ab0c3bc041b88e18d3d76a255f13@HQ1WP-EXMB11.corp.brocade.com>
2015-02-24 19:18 ` Stephen Hemminger
2015-02-24 20:06 ` Thomas Monjalon
2015-02-25 17:29 ` Dumitrescu, Cristian
2015-03-10 13:55 ` Thomas Monjalon
2015-02-09 22:48 ` Dumitrescu, Cristian
2015-02-09 22:55 ` Stephen Hemminger
2015-02-20 18:32 ` Dumitrescu, Cristian
2015-02-20 19:52 ` Stephen Hemminger
2015-02-20 20:23 ` Dumitrescu, Cristian
2015-02-20 21:01 ` Thomas Monjalon
2015-02-20 21:28 ` Dumitrescu, Cristian
2015-02-21 1:53 ` Stephen Hemminger
2015-02-23 12:06 ` Dumitrescu, Cristian
2015-02-09 23:46 ` Neil Horman
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=20150205124330.GB28355@hmsreliant.think-freely.org \
--to=nhorman@tuxdriver.com \
--cc=dev@dpdk.org \
--cc=shemming@brocade.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 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).