@@ -1029,7 +1029,7 @@ ml_inference_launch_cores(struct ml_test *test, struct ml_options *opt, uint16_t
}
int
-ml_inference_stats_get(struct ml_test *test, struct ml_options *opt)
+ml_inference_throughput_get(struct ml_test *test, struct ml_options *opt)
{
struct test_inference *t = ml_test_priv(test);
uint64_t total_cycles = 0;
@@ -1038,56 +1038,10 @@ ml_inference_stats_get(struct ml_test *test, struct ml_options *opt)
uint64_t avg_e2e;
uint32_t qp_id;
uint64_t freq;
- int ret;
- int i;
if (!opt->stats)
return 0;
- /* get xstats size */
- t->xstats_size = rte_ml_dev_xstats_names_get(opt->dev_id, NULL, 0);
- if (t->xstats_size >= 0) {
- /* allocate for xstats_map and values */
- t->xstats_map = rte_malloc(
- "ml_xstats_map", t->xstats_size * sizeof(struct rte_ml_dev_xstats_map), 0);
- if (t->xstats_map == NULL) {
- ret = -ENOMEM;
- goto error;
- }
-
- t->xstats_values =
- rte_malloc("ml_xstats_values", t->xstats_size * sizeof(uint64_t), 0);
- if (t->xstats_values == NULL) {
- ret = -ENOMEM;
- goto error;
- }
-
- ret = rte_ml_dev_xstats_names_get(opt->dev_id, t->xstats_map, t->xstats_size);
- if (ret != t->xstats_size) {
- printf("Unable to get xstats names, ret = %d\n", ret);
- ret = -1;
- goto error;
- }
-
- for (i = 0; i < t->xstats_size; i++)
- rte_ml_dev_xstats_get(opt->dev_id, &t->xstats_map[i].id,
- &t->xstats_values[i], 1);
- }
-
- /* print xstats*/
- printf("\n");
- print_line(80);
- printf(" ML Device Extended Statistics\n");
- print_line(80);
- for (i = 0; i < t->xstats_size; i++)
- printf(" %-64s = %" PRIu64 "\n", t->xstats_map[i].name, t->xstats_values[i]);
- print_line(80);
-
- /* release buffers */
- rte_free(t->xstats_map);
-
- rte_free(t->xstats_values);
-
/* print end-to-end stats */
freq = rte_get_tsc_hz();
for (qp_id = 0; qp_id < RTE_MAX_LCORE; qp_id++)
@@ -1121,11 +1075,4 @@ ml_inference_stats_get(struct ml_test *test, struct ml_options *opt)
print_line(80);
return 0;
-
-error:
- rte_free(t->xstats_map);
-
- rte_free(t->xstats_values);
-
- return ret;
}
@@ -70,6 +70,6 @@ void ml_inference_mem_destroy(struct ml_test *test, struct ml_options *opt);
int ml_inference_result(struct ml_test *test, struct ml_options *opt, uint16_t fid);
int ml_inference_launch_cores(struct ml_test *test, struct ml_options *opt, uint16_t start_fid,
uint16_t end_fid);
-int ml_inference_stats_get(struct ml_test *test, struct ml_options *opt);
+int ml_inference_throughput_get(struct ml_test *test, struct ml_options *opt);
#endif /* TEST_INFERENCE_COMMON_H */
@@ -58,7 +58,7 @@ test_inference_interleave_driver(struct ml_test *test, struct ml_options *opt)
ml_inference_iomem_destroy(test, opt, fid);
}
- ml_inference_stats_get(test, opt);
+ ml_inference_throughput_get(test, opt);
for (fid = 0; fid < opt->nb_filelist; fid++) {
ret = ml_model_stop(test, opt, &t->model[fid], fid);
@@ -54,7 +54,7 @@ test_inference_ordered_driver(struct ml_test *test, struct ml_options *opt)
goto error;
ml_inference_iomem_destroy(test, opt, fid);
- ml_inference_stats_get(test, opt);
+ ml_inference_throughput_get(test, opt);
/* stop model */
ret = ml_model_stop(test, opt, &t->model[fid], fid);
@@ -1089,7 +1089,7 @@ cn10k_ml_dev_xstats_names_get(struct rte_ml_dev *dev, struct rte_ml_dev_xstats_m
return count;
}
-static int
+static int __rte_unused
cn10k_ml_dev_xstats_by_name_get(struct rte_ml_dev *dev, const char *name, uint16_t *stat_id,
uint64_t *value)
{
@@ -1136,7 +1136,7 @@ cn10k_ml_dev_xstats_by_name_get(struct rte_ml_dev *dev, const char *name, uint16
return 0;
}
-static int
+static int __rte_unused
cn10k_ml_dev_xstats_get(struct rte_ml_dev *dev, const uint16_t *stat_ids, uint64_t *values,
uint16_t nb_ids)
{
@@ -1167,7 +1167,7 @@ cn10k_ml_dev_xstats_get(struct rte_ml_dev *dev, const uint16_t *stat_ids, uint64
return count;
}
-static int
+static int __rte_unused
cn10k_ml_dev_xstats_reset(struct rte_ml_dev *dev, const uint16_t *stat_ids, uint16_t nb_ids)
{
struct rte_ml_dev_info dev_info;
@@ -2308,10 +2308,6 @@ struct rte_ml_dev_ops cn10k_ml_ops = {
/* Stats ops */
.dev_stats_get = cn10k_ml_dev_stats_get,
.dev_stats_reset = cn10k_ml_dev_stats_reset,
- .dev_xstats_names_get = cn10k_ml_dev_xstats_names_get,
- .dev_xstats_by_name_get = cn10k_ml_dev_xstats_by_name_get,
- .dev_xstats_get = cn10k_ml_dev_xstats_get,
- .dev_xstats_reset = cn10k_ml_dev_xstats_reset,
/* Model ops */
.model_load = cn10k_ml_model_load,
@@ -438,94 +438,6 @@ rte_ml_dev_stats_reset(int16_t dev_id)
(*dev->dev_ops->dev_stats_reset)(dev);
}
-int
-rte_ml_dev_xstats_names_get(int16_t dev_id, struct rte_ml_dev_xstats_map *xstats_map, uint32_t size)
-{
- struct rte_ml_dev *dev;
-
- if (!rte_ml_dev_is_valid_dev(dev_id)) {
- RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
- return -EINVAL;
- }
-
- dev = rte_ml_dev_pmd_get_dev(dev_id);
- if (*dev->dev_ops->dev_xstats_names_get == NULL)
- return -ENOTSUP;
-
- return (*dev->dev_ops->dev_xstats_names_get)(dev, xstats_map, size);
-}
-
-int
-rte_ml_dev_xstats_by_name_get(int16_t dev_id, const char *name, uint16_t *stat_id, uint64_t *value)
-{
- struct rte_ml_dev *dev;
-
- if (!rte_ml_dev_is_valid_dev(dev_id)) {
- RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
- return -EINVAL;
- }
-
- dev = rte_ml_dev_pmd_get_dev(dev_id);
- if (*dev->dev_ops->dev_xstats_by_name_get == NULL)
- return -ENOTSUP;
-
- if (name == NULL) {
- RTE_MLDEV_LOG(ERR, "Dev %d, name cannot be NULL\n", dev_id);
- return -EINVAL;
- }
-
- if (value == NULL) {
- RTE_MLDEV_LOG(ERR, "Dev %d, value cannot be NULL\n", dev_id);
- return -EINVAL;
- }
-
- return (*dev->dev_ops->dev_xstats_by_name_get)(dev, name, stat_id, value);
-}
-
-int
-rte_ml_dev_xstats_get(int16_t dev_id, const uint16_t *stat_ids, uint64_t *values, uint16_t nb_ids)
-{
- struct rte_ml_dev *dev;
-
- if (!rte_ml_dev_is_valid_dev(dev_id)) {
- RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
- return -EINVAL;
- }
-
- dev = rte_ml_dev_pmd_get_dev(dev_id);
- if (*dev->dev_ops->dev_xstats_get == NULL)
- return -ENOTSUP;
-
- if (stat_ids == NULL) {
- RTE_MLDEV_LOG(ERR, "Dev %d, stat_ids cannot be NULL\n", dev_id);
- return -EINVAL;
- }
-
- if (values == NULL) {
- RTE_MLDEV_LOG(ERR, "Dev %d, values cannot be NULL\n", dev_id);
- return -EINVAL;
- }
-
- return (*dev->dev_ops->dev_xstats_get)(dev, stat_ids, values, nb_ids);
-}
-
-int
-rte_ml_dev_xstats_reset(int16_t dev_id, const uint16_t *stat_ids, uint16_t nb_ids)
-{
- struct rte_ml_dev *dev;
-
- if (!rte_ml_dev_is_valid_dev(dev_id)) {
- RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
- return -EINVAL;
- }
-
- dev = rte_ml_dev_pmd_get_dev(dev_id);
- if (*dev->dev_ops->dev_xstats_reset == NULL)
- return -ENOTSUP;
-
- return (*dev->dev_ops->dev_xstats_reset)(dev, stat_ids, nb_ids);
-}
-
int
rte_ml_dev_dump(int16_t dev_id, FILE *fd)
{
@@ -605,96 +605,6 @@ struct rte_ml_dev_xstats_map {
/**< xstat name */
};
-/**
- * Retrieve names of extended statistics of an ML device.
- *
- * @param dev_id
- * The identifier of the device.
- * @param[out] xstats_map
- * Block of memory to insert id and names into. Must be at least size in capacity.
- * If set to NULL, function returns required capacity.
- * @param size
- * Capacity of xstats_map (number of name-id maps).
- *
- * @return
- * - Positive value on success:
- * - The return value is the number of entries filled in the stats map.
- * - If xstats_map set to NULL then required capacity for xstats_map.
- * - Negative value on error:
- * - -ENODEV: for invalid *dev_id*.
- * - -ENOTSUP: if the device doesn't support this function.
- */
-__rte_experimental
-int
-rte_ml_dev_xstats_names_get(int16_t dev_id, struct rte_ml_dev_xstats_map *xstats_map,
- uint32_t size);
-
-/**
- * Retrieve the value of a single stat by requesting it by name.
- *
- * @param dev_id
- * The identifier of the device.
- * @param name
- * The stat name to retrieve.
- * @param stat_id
- * If non-NULL, the numerical id of the stat will be returned, so that further requests for
- * the stat can be got using rte_ml_dev_xstats_get, which will be faster as it doesn't need to
- * scan a list of names for the stat.
- * @param[out] value
- * Must be non-NULL, retrieved xstat value will be stored in this address.
- *
- * @return
- * - 0: Successfully retrieved xstat value.
- * - -EINVAL: invalid parameters.
- * - -ENOTSUP: if not supported.
- */
-__rte_experimental
-int
-rte_ml_dev_xstats_by_name_get(int16_t dev_id, const char *name, uint16_t *stat_id, uint64_t *value);
-
-/**
- * Retrieve extended statistics of an ML device.
- *
- * @param dev_id
- * The identifier of the device.
- * @param stat_ids
- * The id numbers of the stats to get. The ids can be fetched from the stat position in the
- * stat list from rte_ml_dev_xstats_names_get(), or by using rte_ml_dev_xstats_by_name_get().
- * @param values
- * The values for each stats request by ID.
- * @param nb_ids
- * The number of stats requested.
- * @return
- * - Positive value: number of stat entries filled into the values array
- * - Negative value on error:
- * - -ENODEV: for invalid *dev_id*.
- * - -ENOTSUP: if the device doesn't support this function.
- */
-__rte_experimental
-int
-rte_ml_dev_xstats_get(int16_t dev_id, const uint16_t *stat_ids, uint64_t *values, uint16_t nb_ids);
-
-/**
- * Reset the values of the xstats of the selected component in the device.
- *
- * @param dev_id
- * The identifier of the device.
- * @param stat_ids
- * Selects specific statistics to be reset. When NULL, all statistics will be reset.
- * If non-NULL, must point to array of at least *nb_ids* size.
- * @param nb_ids
- * The number of ids available from the *ids* array. Ignored when ids is NULL.
- * @return
- * - 0: Successfully reset the statistics to zero.
- * - -EINVAL: invalid parameters.
- * - -ENOTSUP: if not supported.
- */
-__rte_experimental
-int
-rte_ml_dev_xstats_reset(int16_t dev_id, const uint16_t *stat_ids, uint16_t nb_ids);
-
-/* Utility operations */
-
/**
* Dump internal information about *dev_id* to the FILE* provided in *fd*.
*
@@ -236,87 +236,6 @@ typedef int (*mldev_stats_get_t)(struct rte_ml_dev *dev, struct rte_ml_dev_stats
*/
typedef void (*mldev_stats_reset_t)(struct rte_ml_dev *dev);
-/**
- * @internal
- *
- * Function used to get names of extended stats.
- *
- * @param dev
- * ML device pointer.
- * @param xstats_map
- * Array to insert id and names into.
- * @param size
- * Size of xstats_map array.
- *
- * @return
- * - >= 0 and <= size on success.
- * - > size, error. Returns the size of xstats_map array required.
- * - < 0, error code on failure.
- */
-typedef int (*mldev_xstats_names_get_t)(struct rte_ml_dev *dev,
- struct rte_ml_dev_xstats_map *xstats_map, uint32_t size);
-
-/**
- * @internal
- *
- * Function used to get a single extended stat by name.
- *
- * @param dev
- * ML device pointer.
- * @param name
- * Name of the stat to retrieve.
- * @param stat_id
- * ID of the stat to be returned.
- * @param value
- * Value of the stat to be returned.
- *
- * @return
- * - >= 0 stat value.
- * - < 0, error code on failure.
- */
-typedef int (*mldev_xstats_by_name_get_t)(struct rte_ml_dev *dev, const char *name,
- uint16_t *stat_id, uint64_t *value);
-
-/**
- * @internal
- *
- * Function used to retrieve extended stats of a device.
- *
- * @param dev
- * ML device pointer.
- * @param stat_ids
- * Array of ID numbers of the stats to be retrieved.
- * @param values
- * Values of the stats requested by the ID.
- * @param nb_ids
- * Number of stats requested.
- *
- * @return
- * - >= 0, number of entries filled into the values array.
- * - < 0, error code on failure.
- */
-typedef int (*mldev_xstats_get_t)(struct rte_ml_dev *dev, const uint16_t *stat_ids,
- uint64_t *values, uint16_t nb_ids);
-
-/**
- * @internal
- *
- * Function used to reset extended stats.
- *
- * @param dev
- * ML device pointer.
- * @param stat_ids
- * Array of stats IDs to be reset.
- * @param nb_ids
- * Number of IDs in the stat_ids array.
- *
- * @return
- * - 0 on success.
- * - < 0, error code on failure.
- */
-typedef int (*mldev_xstats_reset_t)(struct rte_ml_dev *dev, const uint16_t *stat_ids,
- uint16_t nb_ids);
-
/**
* @internal
*
@@ -579,18 +498,6 @@ struct rte_ml_dev_ops {
/** Reset device statistics. */
mldev_stats_reset_t dev_stats_reset;
- /** Get names of extended stats. */
- mldev_xstats_names_get_t dev_xstats_names_get;
-
- /** Get value of a single extended stat. */
- mldev_xstats_by_name_get_t dev_xstats_by_name_get;
-
- /** Get extended stats of a device. */
- mldev_xstats_get_t dev_xstats_get;
-
- /** Reset extended stats of the device. */
- mldev_xstats_reset_t dev_xstats_reset;
-
/** Dump ML device debug info. */
mldev_dump_t dev_dump;
@@ -17,10 +17,6 @@ EXPERIMENTAL {
rte_ml_dev_stats_get;
rte_ml_dev_stats_reset;
rte_ml_dev_stop;
- rte_ml_dev_xstats_by_name_get;
- rte_ml_dev_xstats_get;
- rte_ml_dev_xstats_names_get;
- rte_ml_dev_xstats_reset;
rte_ml_enqueue_burst;
rte_ml_io_dequantize;
rte_ml_io_input_size_get;