16#define RTE_JOBSTATS_NAMESIZE 32
19struct rte_jobstats_context;
32typedef 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;
70struct 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;
127rte_jobstats_context_init(
struct rte_jobstats_context *ctx);
136rte_jobstats_context_start(
struct rte_jobstats_context *ctx);
146rte_jobstats_context_finish(
struct rte_jobstats_context *ctx);
155rte_jobstats_context_reset(
struct rte_jobstats_context *ctx);
178rte_jobstats_init(
struct rte_jobstats *job,
const char *name,
179 uint64_t min_period, uint64_t max_period, uint64_t initial_period,
192rte_jobstats_set_target(
struct rte_jobstats *job, int64_t target);
207rte_jobstats_start(
struct rte_jobstats_context *ctx,
struct rte_jobstats *job);
221rte_jobstats_abort(
struct rte_jobstats *job);
240rte_jobstats_finish(
struct rte_jobstats *job, int64_t job_value);
253rte_jobstats_set_period(
struct rte_jobstats *job, uint64_t period,
265rte_jobstats_set_min(
struct rte_jobstats *job, uint64_t period);
276rte_jobstats_set_max(
struct rte_jobstats *job, uint64_t period);
290rte_jobstats_set_update_period_function(
struct rte_jobstats *job,
291 rte_job_update_period_cb_t update_period_cb);
300rte_jobstats_reset(
struct rte_jobstats *job);
#define __rte_cache_aligned