5 #ifndef _RTE_EMPTY_POLL_H
6 #define _RTE_EMPTY_POLL_H
15 #include <rte_compat.h>
24 #define NUM_FREQS RTE_MAX_LCORE_FREQS
28 #define DROP (NUM_DIRECTIONS * NUM_DEVICES)
30 #define NUM_PRIORITIES 2
52 struct freq_threshold {
56 uint32_t threshold_percent;
57 uint32_t cur_train_iter;
61 struct priority_worker {
66 uint64_t empty_dequeues;
67 uint64_t num_dequeue_pkts;
69 enum queue_state queue_state;
71 uint64_t empty_dequeues_prev;
74 struct freq_threshold thresh[NUM_FREQ];
75 enum freq_val cur_freq;
79 uint64_t edpi_av[BINS_AV];
84 uint32_t iter_counter;
85 uint32_t threshold_ctr;
94 struct priority_worker wrk_stats[NUM_NODES];
105 uint64_t interval_ticks;
106 uint32_t max_train_iter;
109 struct stats_data wrk_data;
116 uint64_t med_base_edpi;
117 uint64_t hgh_base_edpi;
119 enum queue_state state;
141 struct ep_policy *policy);