eventdev: increase xstats ID width to 64 bits

Increase xstats ID width from 32 to 64 bits. This also
fixes the xstats ID datatype discrepancy between reset and
rest of the xstats family.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Reviewed-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
This commit is contained in:
Pavan Nikhilesh 2022-10-13 17:05:01 +05:30 committed by Jerin Jacob
parent 922e71b52d
commit 1bdfe4d76e
16 changed files with 128 additions and 128 deletions

View File

@ -445,6 +445,11 @@ API Changes
is renamed to ``rte_eventdev_stop_flush_t``
to avoid conflicts with application symbols.
* eventdev: The data type of the ID parameter in the functions
``rte_event_dev_xstats_names_get``, ``rte_event_dev_xstats_get``,
``rte_event_dev_xstats_by_name_get`` and ``rte_event_dev_xstats_reset``
is changed to ``uint64_t`` from ``unsigned int`` and ``uint32_t``.
* metrics: Updated ``rte_metrics_init`` so it returns an error code instead
of calling ``rte_exit``.

View File

@ -271,14 +271,14 @@ int cnxk_sso_xstats_get_names(const struct rte_eventdev *event_dev,
enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id,
struct rte_event_dev_xstats_name *xstats_names,
unsigned int *ids, unsigned int size);
uint64_t *ids, unsigned int size);
int cnxk_sso_xstats_get(const struct rte_eventdev *event_dev,
enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id, const unsigned int ids[],
uint8_t queue_port_id, const uint64_t ids[],
uint64_t values[], unsigned int n);
int cnxk_sso_xstats_reset(struct rte_eventdev *event_dev,
enum rte_event_dev_xstats_mode mode,
int16_t queue_port_id, const uint32_t ids[],
int16_t queue_port_id, const uint64_t ids[],
uint32_t n);
/* CN9K */

View File

@ -103,7 +103,7 @@ static struct cnxk_sso_xstats_name sso_hwgrp_xstats[] = {
int
cnxk_sso_xstats_get(const struct rte_eventdev *event_dev,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
const unsigned int ids[], uint64_t values[], unsigned int n)
const uint64_t ids[], uint64_t values[], unsigned int n)
{
struct cnxk_sso_evdev *dev = cnxk_sso_pmd_priv(event_dev);
struct roc_sso_hwgrp_stats hwgrp_stats;
@ -170,7 +170,7 @@ invalid_value:
int
cnxk_sso_xstats_reset(struct rte_eventdev *event_dev,
enum rte_event_dev_xstats_mode mode,
int16_t queue_port_id, const uint32_t ids[], uint32_t n)
int16_t queue_port_id, const uint64_t ids[], uint32_t n)
{
struct cnxk_sso_evdev *dev = cnxk_sso_pmd_priv(event_dev);
struct roc_sso_hwgrp_stats hwgrp_stats;
@ -235,7 +235,7 @@ cnxk_sso_xstats_get_names(const struct rte_eventdev *event_dev,
enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id,
struct rte_event_dev_xstats_name *xstats_names,
unsigned int *ids, unsigned int size)
uint64_t *ids, unsigned int size)
{
struct rte_event_dev_xstats_name xstats_names_copy[CNXK_SSO_NUM_XSTATS];
struct cnxk_sso_evdev *dev = cnxk_sso_pmd_priv(event_dev);

View File

@ -686,20 +686,20 @@ void dlb2_xstats_uninit(struct dlb2_eventdev *dlb2);
int dlb2_eventdev_xstats_get(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
const unsigned int ids[], uint64_t values[], unsigned int n);
const uint64_t ids[], uint64_t values[], unsigned int n);
int dlb2_eventdev_xstats_get_names(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
struct rte_event_dev_xstats_name *xstat_names,
unsigned int *ids, unsigned int size);
uint64_t *ids, unsigned int size);
uint64_t dlb2_eventdev_xstats_get_by_name(const struct rte_eventdev *dev,
const char *name, unsigned int *id);
const char *name, uint64_t *id);
int dlb2_eventdev_xstats_reset(struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode,
int16_t queue_port_id,
const uint32_t ids[],
const uint64_t ids[],
uint32_t nb_ids);
int test_dlb2_eventdev(void);

View File

@ -666,7 +666,7 @@ int
dlb2_eventdev_xstats_get_names(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
struct rte_event_dev_xstats_name *xstats_names,
unsigned int *ids, unsigned int size)
uint64_t *ids, unsigned int size)
{
const struct dlb2_eventdev *dlb2 = dlb2_pmd_priv(dev);
unsigned int i;
@ -717,7 +717,7 @@ dlb2_eventdev_xstats_get_names(const struct rte_eventdev *dev,
static int
dlb2_xstats_update(struct dlb2_eventdev *dlb2,
enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id, const unsigned int ids[],
uint8_t queue_port_id, const uint64_t ids[],
uint64_t values[], unsigned int n, const uint32_t reset)
{
unsigned int i;
@ -791,7 +791,7 @@ invalid_value:
int
dlb2_eventdev_xstats_get(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
const unsigned int ids[], uint64_t values[], unsigned int n)
const uint64_t ids[], uint64_t values[], unsigned int n)
{
struct dlb2_eventdev *dlb2 = dlb2_pmd_priv(dev);
const uint32_t reset = 0;
@ -802,7 +802,7 @@ dlb2_eventdev_xstats_get(const struct rte_eventdev *dev,
uint64_t
dlb2_eventdev_xstats_get_by_name(const struct rte_eventdev *dev,
const char *name, unsigned int *id)
const char *name, uint64_t *id)
{
struct dlb2_eventdev *dlb2 = dlb2_pmd_priv(dev);
unsigned int i;
@ -876,7 +876,7 @@ dlb2_xstats_reset_range(struct dlb2_eventdev *dlb2, uint32_t start,
static int
dlb2_xstats_reset_queue(struct dlb2_eventdev *dlb2, uint8_t queue_id,
const uint32_t ids[], uint32_t nb_ids)
const uint64_t ids[], uint32_t nb_ids)
{
const uint32_t reset = 1;
@ -898,7 +898,7 @@ dlb2_xstats_reset_queue(struct dlb2_eventdev *dlb2, uint8_t queue_id,
static int
dlb2_xstats_reset_port(struct dlb2_eventdev *dlb2, uint8_t port_id,
const uint32_t ids[], uint32_t nb_ids)
const uint64_t ids[], uint32_t nb_ids)
{
const uint32_t reset = 1;
int offset = dlb2->xstats_offset_for_port[port_id];
@ -917,14 +917,14 @@ dlb2_xstats_reset_port(struct dlb2_eventdev *dlb2, uint8_t port_id,
}
static int
dlb2_xstats_reset_dev(struct dlb2_eventdev *dlb2, const uint32_t ids[],
dlb2_xstats_reset_dev(struct dlb2_eventdev *dlb2, const uint64_t ids[],
uint32_t nb_ids)
{
uint32_t i;
if (ids) {
for (i = 0; i < nb_ids; i++) {
uint32_t id = ids[i];
uint64_t id = ids[i];
if (id >= dlb2->xstats_count_mode_dev)
return -EINVAL;
@ -942,7 +942,7 @@ int
dlb2_eventdev_xstats_reset(struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode,
int16_t queue_port_id,
const uint32_t ids[],
const uint64_t ids[],
uint32_t nb_ids)
{
struct dlb2_eventdev *dlb2 = dlb2_pmd_priv(dev);

View File

@ -283,12 +283,12 @@ int dsw_xstats_get_names(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id,
struct rte_event_dev_xstats_name *xstats_names,
unsigned int *ids, unsigned int size);
uint64_t *ids, unsigned int size);
int dsw_xstats_get(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
const unsigned int ids[], uint64_t values[], unsigned int n);
const uint64_t ids[], uint64_t values[], unsigned int n);
uint64_t dsw_xstats_get_by_name(const struct rte_eventdev *dev,
const char *name, unsigned int *id);
const char *name, uint64_t *id);
static inline struct dsw_evdev *
dsw_pmd_priv(const struct rte_eventdev *eventdev)

View File

@ -15,8 +15,8 @@
*/
#define DSW_XSTATS_ID_PARAM_BITS (8)
#define DSW_XSTATS_ID_STAT_BITS \
(sizeof(unsigned int)*CHAR_BIT - DSW_XSTATS_ID_PARAM_BITS)
#define DSW_XSTATS_ID_STAT_MASK ((1 << DSW_XSTATS_ID_STAT_BITS) - 1)
(sizeof(uint64_t)*CHAR_BIT - DSW_XSTATS_ID_PARAM_BITS)
#define DSW_XSTATS_ID_STAT_MASK ((UINT64_C(1) << DSW_XSTATS_ID_STAT_BITS) - 1)
#define DSW_XSTATS_ID_GET_PARAM(id) \
((id)>>DSW_XSTATS_ID_STAT_BITS)
@ -25,7 +25,7 @@
((id) & DSW_XSTATS_ID_STAT_MASK)
#define DSW_XSTATS_ID_CREATE(id, param_value) \
(((param_value) << DSW_XSTATS_ID_STAT_BITS) | id)
((((uint64_t)param_value) << DSW_XSTATS_ID_STAT_BITS) | id)
typedef
uint64_t (*dsw_xstats_dev_get_value_fn)(struct dsw_evdev *dsw);
@ -169,7 +169,7 @@ static struct dsw_xstats_port dsw_port_xstats[] = {
typedef
void (*dsw_xstats_foreach_fn)(const char *xstats_name,
enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id, unsigned int xstats_id,
uint8_t queue_port_id, uint64_t xstats_id,
void *data);
static void
@ -193,7 +193,7 @@ dsw_xstats_port_foreach(struct dsw_evdev *dsw, uint8_t port_id,
stat_idx < RTE_DIM(dsw_port_xstats);) {
struct dsw_xstats_port *xstat = &dsw_port_xstats[stat_idx];
char xstats_name[RTE_EVENT_DEV_XSTATS_NAME_SIZE];
unsigned int xstats_id;
uint64_t xstats_id;
if (xstat->per_queue) {
xstats_id = DSW_XSTATS_ID_CREATE(stat_idx, queue_id);
@ -219,7 +219,7 @@ dsw_xstats_port_foreach(struct dsw_evdev *dsw, uint8_t port_id,
struct store_ctx {
struct rte_event_dev_xstats_name *names;
unsigned int *ids;
uint64_t *ids;
unsigned int count;
unsigned int capacity;
};
@ -227,7 +227,7 @@ struct store_ctx {
static void
dsw_xstats_store_stat(const char *xstats_name,
enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id, unsigned int xstats_id,
uint8_t queue_port_id, uint64_t xstats_id,
void *data)
{
struct store_ctx *ctx = data;
@ -248,7 +248,7 @@ dsw_xstats_get_names(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id,
struct rte_event_dev_xstats_name *xstats_names,
unsigned int *ids, unsigned int capacity)
uint64_t *ids, unsigned int capacity)
{
struct dsw_evdev *dsw = dsw_pmd_priv(dev);
@ -276,13 +276,13 @@ dsw_xstats_get_names(const struct rte_eventdev *dev,
static int
dsw_xstats_dev_get(const struct rte_eventdev *dev,
const unsigned int ids[], uint64_t values[], unsigned int n)
const uint64_t ids[], uint64_t values[], unsigned int n)
{
struct dsw_evdev *dsw = dsw_pmd_priv(dev);
unsigned int i;
for (i = 0; i < n; i++) {
unsigned int id = ids[i];
uint64_t id = ids[i];
struct dsw_xstat_dev *xstat = &dsw_dev_xstats[id];
values[i] = xstat->get_value_fn(dsw);
}
@ -291,13 +291,13 @@ dsw_xstats_dev_get(const struct rte_eventdev *dev,
static int
dsw_xstats_port_get(const struct rte_eventdev *dev, uint8_t port_id,
const unsigned int ids[], uint64_t values[], unsigned int n)
const uint64_t ids[], uint64_t values[], unsigned int n)
{
struct dsw_evdev *dsw = dsw_pmd_priv(dev);
unsigned int i;
for (i = 0; i < n; i++) {
unsigned int id = ids[i];
uint64_t id = ids[i];
unsigned int stat_idx = DSW_XSTATS_ID_GET_STAT(id);
struct dsw_xstats_port *xstat = &dsw_port_xstats[stat_idx];
uint8_t queue_id = 0;
@ -313,7 +313,7 @@ dsw_xstats_port_get(const struct rte_eventdev *dev, uint8_t port_id,
int
dsw_xstats_get(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
const unsigned int ids[], uint64_t values[], unsigned int n)
const uint64_t ids[], uint64_t values[], unsigned int n)
{
switch (mode) {
case RTE_EVENT_DEV_XSTATS_DEVICE:
@ -332,14 +332,14 @@ dsw_xstats_get(const struct rte_eventdev *dev,
struct find_ctx {
const struct rte_eventdev *dev;
const char *name;
unsigned int *id;
uint64_t *id;
uint64_t value;
};
static void
dsw_xstats_find_stat(const char *xstats_name,
enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id, unsigned int xstats_id,
uint8_t queue_port_id, uint64_t xstats_id,
void *data)
{
struct find_ctx *ctx = data;
@ -354,7 +354,7 @@ dsw_xstats_find_stat(const char *xstats_name,
uint64_t
dsw_xstats_get_by_name(const struct rte_eventdev *dev, const char *name,
unsigned int *id)
uint64_t *id)
{
struct dsw_evdev *dsw = dsw_pmd_priv(dev);
uint16_t port_id;

View File

@ -289,16 +289,16 @@ int opdl_xstats_uninit(struct rte_eventdev *dev);
int opdl_xstats_get_names(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
struct rte_event_dev_xstats_name *xstats_names,
unsigned int *ids, unsigned int size);
uint64_t *ids, unsigned int size);
int opdl_xstats_get(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
const unsigned int ids[], uint64_t values[], unsigned int n);
const uint64_t ids[], uint64_t values[], unsigned int n);
uint64_t opdl_xstats_get_by_name(const struct rte_eventdev *dev,
const char *name, unsigned int *id);
const char *name, uint64_t *id);
int opdl_xstats_reset(struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode,
int16_t queue_port_id,
const uint32_t ids[],
const uint64_t ids[],
uint32_t nb_ids);
int opdl_add_event_handlers(struct rte_eventdev *dev);

View File

@ -65,7 +65,7 @@ opdl_xstats_get_names(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id,
struct rte_event_dev_xstats_name *xstats_names,
unsigned int *ids, unsigned int size)
uint64_t *ids, unsigned int size)
{
struct opdl_evdev *device = opdl_pmd_priv(dev);
@ -99,7 +99,7 @@ int
opdl_xstats_get(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id,
const unsigned int ids[],
const uint64_t ids[],
uint64_t values[], unsigned int n)
{
struct opdl_evdev *device = opdl_pmd_priv(dev);
@ -133,7 +133,7 @@ opdl_xstats_get(const struct rte_eventdev *dev,
uint64_t
opdl_xstats_get_by_name(const struct rte_eventdev *dev,
const char *name, unsigned int *id)
const char *name, uint64_t *id)
{
struct opdl_evdev *device = opdl_pmd_priv(dev);
@ -161,7 +161,7 @@ opdl_xstats_get_by_name(const struct rte_eventdev *dev,
int
opdl_xstats_reset(struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode,
int16_t queue_port_id, const uint32_t ids[],
int16_t queue_port_id, const uint64_t ids[],
uint32_t nb_ids)
{
struct opdl_evdev *device = opdl_pmd_priv(dev);

View File

@ -471,7 +471,7 @@ atomic_basic(struct test *t)
return 0;
}
static __rte_always_inline int
check_qid_stats(uint32_t id[], int index)
check_qid_stats(uint64_t id[], int index)
{
if (index == 0) {
@ -509,7 +509,7 @@ check_statistics(void)
0);
if (num_stats > 0) {
uint32_t id[num_stats];
uint64_t id[num_stats];
struct rte_event_dev_xstats_name names[num_stats];
uint64_t values[num_stats];

View File

@ -301,16 +301,16 @@ int sw_xstats_uninit(struct sw_evdev *dev);
int sw_xstats_get_names(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
struct rte_event_dev_xstats_name *xstats_names,
unsigned int *ids, unsigned int size);
uint64_t *ids, unsigned int size);
int sw_xstats_get(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
const unsigned int ids[], uint64_t values[], unsigned int n);
const uint64_t ids[], uint64_t values[], unsigned int n);
uint64_t sw_xstats_get_by_name(const struct rte_eventdev *dev,
const char *name, unsigned int *id);
const char *name, uint64_t *id);
int sw_xstats_reset(struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode,
int16_t queue_port_id,
const uint32_t ids[],
const uint64_t ids[],
uint32_t nb_ids);
int test_sw_eventdev(void);

View File

@ -92,7 +92,7 @@ xstats_print(void)
{
const uint32_t XSTATS_MAX = 1024;
uint32_t i;
uint32_t ids[XSTATS_MAX];
uint64_t ids[XSTATS_MAX];
uint64_t values[XSTATS_MAX];
struct rte_event_dev_xstats_name xstats_names[XSTATS_MAX];
@ -310,15 +310,14 @@ static inline int
test_event_dev_stats_get(int dev_id, struct test_event_dev_stats *stats)
{
static uint32_t i;
static uint32_t total_ids[3]; /* rx, tx and drop */
static uint32_t port_rx_pkts_ids[MAX_PORTS];
static uint32_t port_rx_dropped_ids[MAX_PORTS];
static uint32_t port_inflight_ids[MAX_PORTS];
static uint32_t port_tx_pkts_ids[MAX_PORTS];
static uint32_t qid_rx_pkts_ids[MAX_QIDS];
static uint32_t qid_rx_dropped_ids[MAX_QIDS];
static uint32_t qid_tx_pkts_ids[MAX_QIDS];
static uint64_t total_ids[3]; /* rx, tx and drop */
static uint64_t port_rx_pkts_ids[MAX_PORTS];
static uint64_t port_rx_dropped_ids[MAX_PORTS];
static uint64_t port_inflight_ids[MAX_PORTS];
static uint64_t port_tx_pkts_ids[MAX_PORTS];
static uint64_t qid_rx_pkts_ids[MAX_QIDS];
static uint64_t qid_rx_dropped_ids[MAX_QIDS];
static uint64_t qid_tx_pkts_ids[MAX_QIDS];
stats->rx_pkts = rte_event_dev_xstats_by_name_get(dev_id,
"dev_rx", &total_ids[0]);
@ -863,7 +862,7 @@ xstats_tests(struct test *t)
const uint32_t XSTATS_MAX = 1024;
uint32_t i;
uint32_t ids[XSTATS_MAX];
uint64_t ids[XSTATS_MAX];
uint64_t values[XSTATS_MAX];
struct rte_event_dev_xstats_name xstats_names[XSTATS_MAX];
@ -963,11 +962,10 @@ xstats_tests(struct test *t)
static const uint64_t expected[] = {3, 3, 0, 1, 0, 0, 4, 1};
for (i = 0; (signed int)i < ret; i++) {
if (expected[i] != values[i]) {
printf(
"%d Error xstat %d (id %d) %s : %"PRIu64
", expect %"PRIu64"\n",
__LINE__, i, ids[i], xstats_names[i].name,
values[i], expected[i]);
printf("%d Error xstat %d (id %" PRIu64
") %s : %" PRIu64 ", expect %" PRIu64 "\n",
__LINE__, i, ids[i], xstats_names[i].name,
values[i], expected[i]);
goto fail;
}
}
@ -982,11 +980,10 @@ xstats_tests(struct test *t)
0, ids, values, num_stats);
for (i = 0; (signed int)i < ret; i++) {
if (expected_zero[i] != values[i]) {
printf(
"%d Error, xstat %d (id %d) %s : %"PRIu64
", expect %"PRIu64"\n",
__LINE__, i, ids[i], xstats_names[i].name,
values[i], expected_zero[i]);
printf("%d Error, xstat %d (id %" PRIu64
") %s : %" PRIu64 ", expect %" PRIu64 "\n",
__LINE__, i, ids[i], xstats_names[i].name,
values[i], expected_zero[i]);
goto fail;
}
}
@ -1058,11 +1055,10 @@ xstats_tests(struct test *t)
0, ids, values, num_stats);
for (i = 0; (signed int)i < ret; i++) {
if (port_expected_zero[i] != values[i]) {
printf(
"%d, Error, xstat %d (id %d) %s : %"PRIu64
", expect %"PRIu64"\n",
__LINE__, i, ids[i], xstats_names[i].name,
values[i], port_expected_zero[i]);
printf("%d, Error, xstat %d (id %" PRIu64
") %s : %" PRIu64 ", expect %" PRIu64 "\n",
__LINE__, i, ids[i], xstats_names[i].name,
values[i], port_expected_zero[i]);
goto fail;
}
}
@ -1095,11 +1091,10 @@ xstats_tests(struct test *t)
};
for (i = 0; (signed int)i < ret; i++) {
if (queue_expected[i] != values[i]) {
printf(
"%d, Error, xstat %d (id %d) %s : %"PRIu64
", expect %"PRIu64"\n",
__LINE__, i, ids[i], xstats_names[i].name,
values[i], queue_expected[i]);
printf("%d, Error, xstat %d (id %" PRIu64
") %s : %" PRIu64 ", expect %" PRIu64 "\n",
__LINE__, i, ids[i], xstats_names[i].name,
values[i], queue_expected[i]);
goto fail;
}
}
@ -1129,11 +1124,10 @@ xstats_tests(struct test *t)
int fails = 0;
for (i = 0; (signed int)i < ret; i++) {
if (queue_expected_zero[i] != values[i]) {
printf(
"%d, Error, xstat %d (id %d) %s : %"PRIu64
", expect %"PRIu64"\n",
__LINE__, i, ids[i], xstats_names[i].name,
values[i], queue_expected_zero[i]);
printf("%d, Error, xstat %d (id %" PRIu64
") %s : %" PRIu64 ", expect %" PRIu64 "\n",
__LINE__, i, ids[i], xstats_names[i].name,
values[i], queue_expected_zero[i]);
fails++;
}
}
@ -1160,7 +1154,7 @@ xstats_id_abuse_tests(struct test *t)
const uint32_t XSTATS_MAX = 1024;
const uint32_t link_port = 2;
uint32_t ids[XSTATS_MAX];
uint64_t ids[XSTATS_MAX];
struct rte_event_dev_xstats_name xstats_names[XSTATS_MAX];
/* Create instance with 4 ports */
@ -1379,7 +1373,7 @@ xstats_brute_force(struct test *t)
{
uint32_t i;
const uint32_t XSTATS_MAX = 1024;
uint32_t ids[XSTATS_MAX];
uint64_t ids[XSTATS_MAX];
uint64_t values[XSTATS_MAX];
struct rte_event_dev_xstats_name xstats_names[XSTATS_MAX];
@ -1454,7 +1448,7 @@ xstats_id_reset_tests(struct test *t)
#define XSTATS_MAX 1024
int ret;
uint32_t i;
uint32_t ids[XSTATS_MAX];
uint64_t ids[XSTATS_MAX];
uint64_t values[XSTATS_MAX];
struct rte_event_dev_xstats_name xstats_names[XSTATS_MAX];
@ -1510,13 +1504,14 @@ xstats_id_reset_tests(struct test *t)
};
uint64_t dev_expected[] = {NPKTS, NPKTS, 0, 1, 0, 0, 4, 1};
for (i = 0; (int)i < ret; i++) {
unsigned int id;
uint64_t id;
uint64_t val = rte_event_dev_xstats_by_name_get(evdev,
dev_names[i],
&id);
if (id != i) {
printf("%d: %s id incorrect, expected %d got %d\n",
__LINE__, dev_names[i], i, id);
printf("%d: %s id incorrect, expected %d got %" PRIu64
"\n",
__LINE__, dev_names[i], i, id);
goto fail;
}
if (val != dev_expected[i]) {
@ -1631,20 +1626,20 @@ xstats_id_reset_tests(struct test *t)
int failed = 0;
for (i = 0; (int)i < ret; i++) {
unsigned int id;
uint64_t id;
uint64_t val = rte_event_dev_xstats_by_name_get(evdev,
port_names[i],
&id);
if (id != i + PORT_OFF) {
printf("%d: %s id incorrect, expected %d got %d\n",
__LINE__, port_names[i], i+PORT_OFF,
id);
printf("%d: %s id incorrect, expected %d got %" PRIu64
"\n",
__LINE__, port_names[i], i + PORT_OFF, id);
failed = 1;
}
if (val != port_expected[i]) {
printf("%d: %s value incorrect, expected %"PRIu64
" got %d\n", __LINE__, port_names[i],
port_expected[i], id);
printf("%d: %s value incorrect, expected %" PRIu64
" got %" PRIu64 "\n",
__LINE__, port_names[i], port_expected[i], id);
failed = 1;
}
/* reset to zero */
@ -1746,14 +1741,14 @@ xstats_id_reset_tests(struct test *t)
failed = 0;
for (i = 0; (int)i < ret; i++) {
unsigned int id;
uint64_t id;
uint64_t val = rte_event_dev_xstats_by_name_get(evdev,
queue_names[i],
&id);
if (id != i + QUEUE_OFF) {
printf("%d: %s id incorrect, expected %d got %d\n",
__LINE__, queue_names[i], i+QUEUE_OFF,
id);
printf("%d: %s id incorrect, expected %d got %" PRIu64
"\n",
__LINE__, queue_names[i], i + QUEUE_OFF, id);
failed = 1;
}
if (val != queue_expected[i]) {

View File

@ -393,7 +393,7 @@ int
sw_xstats_get_names(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
struct rte_event_dev_xstats_name *xstats_names,
unsigned int *ids, unsigned int size)
uint64_t *ids, unsigned int size)
{
const struct sw_evdev *sw = sw_pmd_priv_const(dev);
unsigned int i;
@ -444,7 +444,7 @@ sw_xstats_get_names(const struct rte_eventdev *dev,
static int
sw_xstats_update(struct sw_evdev *sw, enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id, const unsigned int ids[],
uint8_t queue_port_id, const uint64_t ids[],
uint64_t values[], unsigned int n, const uint32_t reset,
const uint32_t ret_if_n_lt_nstats)
{
@ -509,7 +509,7 @@ invalid_value:
int
sw_xstats_get(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
const unsigned int ids[], uint64_t values[], unsigned int n)
const uint64_t ids[], uint64_t values[], unsigned int n)
{
struct sw_evdev *sw = sw_pmd_priv(dev);
const uint32_t reset = 0;
@ -520,7 +520,7 @@ sw_xstats_get(const struct rte_eventdev *dev,
uint64_t
sw_xstats_get_by_name(const struct rte_eventdev *dev,
const char *name, unsigned int *id)
const char *name, uint64_t *id)
{
const struct sw_evdev *sw = sw_pmd_priv_const(dev);
unsigned int i;
@ -556,7 +556,7 @@ sw_xstats_reset_range(struct sw_evdev *sw, uint32_t start, uint32_t num)
static int
sw_xstats_reset_queue(struct sw_evdev *sw, uint8_t queue_id,
const uint32_t ids[], uint32_t nb_ids)
const uint64_t ids[], uint32_t nb_ids)
{
const uint32_t reset = 1;
const uint32_t ret_n_lt_stats = 0;
@ -577,7 +577,7 @@ sw_xstats_reset_queue(struct sw_evdev *sw, uint8_t queue_id,
static int
sw_xstats_reset_port(struct sw_evdev *sw, uint8_t port_id,
const uint32_t ids[], uint32_t nb_ids)
const uint64_t ids[], uint32_t nb_ids)
{
const uint32_t reset = 1;
const uint32_t ret_n_lt_stats = 0;
@ -597,12 +597,12 @@ sw_xstats_reset_port(struct sw_evdev *sw, uint8_t port_id,
}
static int
sw_xstats_reset_dev(struct sw_evdev *sw, const uint32_t ids[], uint32_t nb_ids)
sw_xstats_reset_dev(struct sw_evdev *sw, const uint64_t ids[], uint32_t nb_ids)
{
uint32_t i;
if (ids) {
for (i = 0; i < nb_ids; i++) {
uint32_t id = ids[i];
uint64_t id = ids[i];
if (id >= sw->xstats_count_mode_dev)
return -EINVAL;
sw_xstats_reset_range(sw, id, 1);
@ -619,7 +619,7 @@ int
sw_xstats_reset(struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode,
int16_t queue_port_id,
const uint32_t ids[],
const uint64_t ids[],
uint32_t nb_ids)
{
struct sw_evdev *sw = sw_pmd_priv(dev);

View File

@ -529,7 +529,7 @@ typedef void (*eventdev_dump_t)(struct rte_eventdev *dev, FILE *f);
*/
typedef int (*eventdev_xstats_get_t)(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
const unsigned int ids[], uint64_t values[], unsigned int n);
const uint64_t ids[], uint64_t values[], unsigned int n);
/**
* Resets the statistic values in xstats for the device, based on mode.
@ -537,7 +537,7 @@ typedef int (*eventdev_xstats_get_t)(const struct rte_eventdev *dev,
typedef int (*eventdev_xstats_reset_t)(struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode,
int16_t queue_port_id,
const uint32_t ids[],
const uint64_t ids[],
uint32_t nb_ids);
/**
@ -564,7 +564,7 @@ typedef int (*eventdev_xstats_reset_t)(struct rte_eventdev *dev,
typedef int (*eventdev_xstats_get_names_t)(const struct rte_eventdev *dev,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
struct rte_event_dev_xstats_name *xstats_names,
unsigned int *ids, unsigned int size);
uint64_t *ids, unsigned int size);
/**
* Get value of one stats and optionally return its id
@ -582,7 +582,7 @@ typedef int (*eventdev_xstats_get_names_t)(const struct rte_eventdev *dev,
* if id pointer is non-NULL
*/
typedef uint64_t (*eventdev_xstats_get_by_name)(const struct rte_eventdev *dev,
const char *name, unsigned int *id);
const char *name, uint64_t *id);
/**

View File

@ -1161,7 +1161,7 @@ int
rte_event_dev_xstats_names_get(uint8_t dev_id,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
struct rte_event_dev_xstats_name *xstats_names,
unsigned int *ids, unsigned int size)
uint64_t *ids, unsigned int size)
{
RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, -ENODEV);
const int cnt_expected_entries = xstats_get_count(dev_id, mode,
@ -1183,7 +1183,7 @@ rte_event_dev_xstats_names_get(uint8_t dev_id,
/* retrieve eventdev extended statistics */
int
rte_event_dev_xstats_get(uint8_t dev_id, enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id, const unsigned int ids[],
uint8_t queue_port_id, const uint64_t ids[],
uint64_t values[], unsigned int n)
{
RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, -ENODEV);
@ -1198,11 +1198,11 @@ rte_event_dev_xstats_get(uint8_t dev_id, enum rte_event_dev_xstats_mode mode,
uint64_t
rte_event_dev_xstats_by_name_get(uint8_t dev_id, const char *name,
unsigned int *id)
uint64_t *id)
{
RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, 0);
const struct rte_eventdev *dev = &rte_eventdevs[dev_id];
unsigned int temp = -1;
uint64_t temp = -1;
if (id != NULL)
*id = (unsigned int)-1;
@ -1217,7 +1217,7 @@ rte_event_dev_xstats_by_name_get(uint8_t dev_id, const char *name,
int rte_event_dev_xstats_reset(uint8_t dev_id,
enum rte_event_dev_xstats_mode mode, int16_t queue_port_id,
const uint32_t ids[], uint32_t nb_ids)
const uint64_t ids[], uint32_t nb_ids)
{
RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL);
struct rte_eventdev *dev = &rte_eventdevs[dev_id];
@ -1658,7 +1658,7 @@ eventdev_build_telemetry_data(int dev_id,
struct rte_tel_data *d)
{
struct rte_event_dev_xstats_name *xstat_names;
unsigned int *ids;
uint64_t *ids;
uint64_t *values;
int i, ret, num_xstats;

View File

@ -1784,7 +1784,7 @@ rte_event_dev_xstats_names_get(uint8_t dev_id,
enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id,
struct rte_event_dev_xstats_name *xstats_names,
unsigned int *ids,
uint64_t *ids,
unsigned int size);
/**
@ -1817,7 +1817,7 @@ int
rte_event_dev_xstats_get(uint8_t dev_id,
enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id,
const unsigned int ids[],
const uint64_t ids[],
uint64_t values[], unsigned int n);
/**
@ -1838,7 +1838,7 @@ rte_event_dev_xstats_get(uint8_t dev_id,
*/
uint64_t
rte_event_dev_xstats_by_name_get(uint8_t dev_id, const char *name,
unsigned int *id);
uint64_t *id);
/**
* Reset the values of the xstats of the selected component in the device.
@ -1864,7 +1864,7 @@ int
rte_event_dev_xstats_reset(uint8_t dev_id,
enum rte_event_dev_xstats_mode mode,
int16_t queue_port_id,
const uint32_t ids[],
const uint64_t ids[],
uint32_t nb_ids);
/**