47#define RTE_TIMER_STOP 0
48#define RTE_TIMER_PENDING 1
49#define RTE_TIMER_RUNNING 2
50#define RTE_TIMER_CONFIG 3
52#define RTE_TIMER_NO_OWNER -2
71 RTE_ATOMIC(uint32_t)
u32;
74#ifdef RTE_LIBRTE_TIMER_DEBUG
78struct rte_timer_debug_stats {
93#define MAX_SKIPLIST_DEPTH 10
101 struct rte_timer *sl_next[MAX_SKIPLIST_DEPTH];
113#define RTE_TIMER_INITIALIZER { \
116 {{RTE_TIMER_STOP, RTE_TIMER_NO_OWNER}}, \
125#define RTE_TIMER_INITIALIZER { \
127 .state = RTE_TIMER_STOP, \
128 .owner = RTE_TIMER_NO_OWNER, \
int rte_timer_alt_stop(uint32_t timer_data_id, struct rte_timer *tim)
void rte_timer_stop_sync(struct rte_timer *tim)
void rte_timer_subsystem_finalize(void)
int rte_timer_data_alloc(uint32_t *id_ptr)
int rte_timer_data_dealloc(uint32_t id)
int rte_timer_pending(struct rte_timer *tim)
void rte_timer_reset_sync(struct rte_timer *tim, uint64_t ticks, enum rte_timer_type type, unsigned tim_lcore, rte_timer_cb_t fct, void *arg)
void(* rte_timer_stop_all_cb_t)(struct rte_timer *tim, void *arg)
void rte_timer_init(struct rte_timer *tim)
int rte_timer_stop(struct rte_timer *tim)
int rte_timer_reset(struct rte_timer *tim, uint64_t ticks, enum rte_timer_type type, unsigned tim_lcore, rte_timer_cb_t fct, void *arg)
int rte_timer_alt_dump_stats(uint32_t timer_data_id, FILE *f)
int64_t rte_timer_next_ticks(void)
int rte_timer_manage(void)
int rte_timer_alt_manage(uint32_t timer_data_id, unsigned int *poll_lcores, int n_poll_lcores, rte_timer_alt_manage_cb_t f)
int rte_timer_alt_reset(uint32_t timer_data_id, struct rte_timer *tim, uint64_t ticks, enum rte_timer_type type, unsigned int tim_lcore, rte_timer_cb_t fct, void *arg)
void(* rte_timer_alt_manage_cb_t)(struct rte_timer *tim)
void(* rte_timer_cb_t)(struct rte_timer *, void *)
int rte_timer_dump_stats(FILE *f)
int rte_timer_subsystem_init(void)
int rte_timer_stop_all(uint32_t timer_data_id, unsigned int *walk_lcores, int nb_walk_lcores, rte_timer_stop_all_cb_t f, void *f_arg)
volatile union rte_timer_status status