70 #include <rte_config.h>
76 #define RTE_TIMER_STOP 0
77 #define RTE_TIMER_PENDING 1
78 #define RTE_TIMER_RUNNING 2
79 #define RTE_TIMER_CONFIG 3
81 #define RTE_TIMER_NO_OWNER -2
104 #ifdef RTE_LIBRTE_TIMER_DEBUG
108 struct rte_timer_debug_stats {
123 #define MAX_SKIPLIST_DEPTH 10
131 struct rte_timer *sl_next[MAX_SKIPLIST_DEPTH];
143 #define RTE_TIMER_INITIALIZER { \
146 {{RTE_TIMER_STOP, RTE_TIMER_NO_OWNER}}, \
155 #define RTE_TIMER_INITIALIZER { \
157 .state = RTE_TIMER_STOP, \
158 .owner = RTE_TIMER_NO_OWNER, \
int rte_timer_pending(struct rte_timer *tim)
void rte_timer_subsystem_init(void)
void rte_timer_stop_sync(struct rte_timer *tim)
volatile union rte_timer_status status
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)
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_stop(struct rte_timer *tim)
void(* rte_timer_cb_t)(struct rte_timer *, void *)
void rte_timer_init(struct rte_timer *tim)
void rte_timer_dump_stats(FILE *f)
void rte_timer_manage(void)