16 #define RTE_JOBSTATS_NAMESIZE 32 19 struct rte_jobstats_context;
32 typedef void (*rte_job_update_period_cb_t)(
struct rte_jobstats *job,
48 rte_job_update_period_cb_t update_period_cb;
54 uint64_t min_exec_time;
57 uint64_t max_exec_time;
63 char name[RTE_JOBSTATS_NAMESIZE];
66 struct rte_jobstats_context *context;
70 struct rte_jobstats_context {
78 uint64_t loop_executed_jobs;
86 uint64_t min_exec_time;
89 uint64_t max_exec_time;
98 uint64_t management_time;
100 uint64_t min_management_time;
103 uint64_t max_management_time;
109 uint64_t job_exec_cnt;
127 rte_jobstats_context_init(
struct rte_jobstats_context *ctx);
136 rte_jobstats_context_start(
struct rte_jobstats_context *ctx);
146 rte_jobstats_context_finish(
struct rte_jobstats_context *ctx);
155 rte_jobstats_context_reset(
struct rte_jobstats_context *ctx);
178 rte_jobstats_init(
struct rte_jobstats *job,
const char *name,
179 uint64_t min_period, uint64_t max_period, uint64_t initial_period,
192 rte_jobstats_set_target(
struct rte_jobstats *job, int64_t target);
207 rte_jobstats_start(
struct rte_jobstats_context *ctx,
struct rte_jobstats *job);
221 rte_jobstats_abort(
struct rte_jobstats *job);
240 rte_jobstats_finish(
struct rte_jobstats *job, int64_t job_value);
253 rte_jobstats_set_period(
struct rte_jobstats *job, uint64_t period,
265 rte_jobstats_set_min(
struct rte_jobstats *job, uint64_t period);
276 rte_jobstats_set_max(
struct rte_jobstats *job, uint64_t period);
290 rte_jobstats_set_update_period_function(
struct rte_jobstats *job,
291 rte_job_update_period_cb_t update_period_cb);
300 rte_jobstats_reset(
struct rte_jobstats *job);
#define __rte_cache_aligned