17 #define RTE_JOBSTATS_NAMESIZE 32 20 struct rte_jobstats_context;
33 typedef 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;
71 struct 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;
128 rte_jobstats_context_init(
struct rte_jobstats_context *ctx);
137 rte_jobstats_context_start(
struct rte_jobstats_context *ctx);
147 rte_jobstats_context_finish(
struct rte_jobstats_context *ctx);
156 rte_jobstats_context_reset(
struct rte_jobstats_context *ctx);
179 rte_jobstats_init(
struct rte_jobstats *job,
const char *name,
180 uint64_t min_period, uint64_t max_period, uint64_t initial_period,
193 rte_jobstats_set_target(
struct rte_jobstats *job, int64_t target);
208 rte_jobstats_start(
struct rte_jobstats_context *ctx,
struct rte_jobstats *job);
222 rte_jobstats_abort(
struct rte_jobstats *job);
241 rte_jobstats_finish(
struct rte_jobstats *job, int64_t job_value);
254 rte_jobstats_set_period(
struct rte_jobstats *job, uint64_t period,
266 rte_jobstats_set_min(
struct rte_jobstats *job, uint64_t period);
277 rte_jobstats_set_max(
struct rte_jobstats *job, uint64_t period);
291 rte_jobstats_set_update_period_function(
struct rte_jobstats *job,
292 rte_job_update_period_cb_t update_period_cb);
301 rte_jobstats_reset(
struct rte_jobstats *job);
#define __rte_cache_aligned