Thread (91 messages) 91 messages, 5 authors, 2017-03-23

Re: [PATCH v3 04/17] eventdev: add APIs for extended stats

From: Jerin Jacob <hidden>
Date: 2017-02-20 12:35:11

On Mon, Feb 20, 2017 at 12:12:35PM +0000, Van Haaren, Harry wrote:
quoted
-----Original Message-----
From: Jerin Jacob [mailto:jerin.jacob@caviumnetworks.com]
Sent: Sunday, February 19, 2017 12:32 PM
To: Van Haaren, Harry <redacted>
Cc: dev@dpdk.org; Richardson, Bruce <redacted>
Subject: Re: [PATCH v3 04/17] eventdev: add APIs for extended stats
<snip>
quoted
quoted
+/**
+ * Reset the values of the xstats on the whole device.
+ *
+ * @param dev_id
+ *   The identifier of the device
+ * @return
+ *   - zero: successfully reset the statistics to zero
+ *   - negative value: -EINVAL invalid dev_id, -ENOTSUP if not supported.
+ */
+int
+rte_event_dev_xstats_reset(uint8_t dev_id);
I think it would be useful to selectively reset the specific counter if
needed.

Ok - I like the simplicity of a single reset() covering the whole eventdev, so that the stats should be consistent. No objection to changing the API, as applications can do a full reset using the "partial" reset API if they require.

quoted
something like below(Just to share my thought in C code)

int
rte_event_dev_xstats_reset(uint8_t dev_id,
	enum rte_event_dev_xstats_mode mode/* INT_MAX to specify all xstats on the whole device */
	const unsigned int ids /* UINT_MAX to specify all the ids on the specific mode */
	
The other functions that take a mode require a "queue_port_id" to select the component (port number or queue id number). I'll add the parameter.

Also I don't like the INT_MAX solution, as the enum type doesn't have to be INT, it can be char or uintX_t - compiler and CFLAGS can be used to change the enum type IIRC.

The ids parameter is an array in the xstats_get() functions, allowing multiple ids to be retrieved in one call. This also allows a NULL parameter to indicate all. I think this suits better than a single int id, and UINT_MAX for all.


TL;DR: I'm suggesting

int
rte_event_dev_xstats_reset(uint8_t dev_id,
        enum rte_event_dev_xstats_mode mode,   /* device, port or queue */
        int16_t queue_port_id,                 /* Queue or Port to reset. -1 resets all of *mode* ports or queues. */
        const uint32_t ids[]);                 /* NULL array indicates to reset all stats */

Thoughts?

looks good to me.
quoted
Other than above comments, Its looks very good.
Thanks for review!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help