17#define RTE_JOBSTATS_NAMESIZE 32
20struct rte_jobstats_context;
33typedef void (*rte_job_update_period_cb_t)(
struct rte_jobstats *job,
49 rte_job_update_period_cb_t update_period_cb;
55 uint64_t min_exec_time;
58 uint64_t max_exec_time;
64 char name[RTE_JOBSTATS_NAMESIZE];
67 struct rte_jobstats_context *context;
71struct rte_jobstats_context {
79 uint64_t loop_executed_jobs;
87 uint64_t min_exec_time;
90 uint64_t max_exec_time;
99 uint64_t management_time;
101 uint64_t min_management_time;
104 uint64_t max_management_time;
110 uint64_t job_exec_cnt;
128rte_jobstats_context_init(
struct rte_jobstats_context *ctx);
137rte_jobstats_context_start(
struct rte_jobstats_context *ctx);
147rte_jobstats_context_finish(
struct rte_jobstats_context *ctx);
156rte_jobstats_context_reset(
struct rte_jobstats_context *ctx);
179rte_jobstats_init(
struct rte_jobstats *job,
const char *name,
180 uint64_t min_period, uint64_t max_period, uint64_t initial_period,
193rte_jobstats_set_target(
struct rte_jobstats *job, int64_t target);
208rte_jobstats_start(
struct rte_jobstats_context *ctx,
struct rte_jobstats *job);
222rte_jobstats_abort(
struct rte_jobstats *job);
241rte_jobstats_finish(
struct rte_jobstats *job, int64_t job_value);
254rte_jobstats_set_period(
struct rte_jobstats *job, uint64_t period,
266rte_jobstats_set_min(
struct rte_jobstats *job, uint64_t period);
277rte_jobstats_set_max(
struct rte_jobstats *job, uint64_t period);
291rte_jobstats_set_update_period_function(
struct rte_jobstats *job,
292 rte_job_update_period_cb_t update_period_cb);
301rte_jobstats_reset(
struct rte_jobstats *job);
#define __rte_cache_aligned