Lines Matching defs:red
75 * @param red [in,out] data pointer to RED runtime data
82 rte_red_rt_data_init(struct rte_red *red);
187 * @param red [in,out] data pointer to RED runtime data
197 struct rte_red *red,
203 RTE_ASSERT(red != NULL);
205 red->count ++;
211 time_diff = time - red->q_time;
225 red->avg = 0;
227 red->avg = (red->avg >> RTE_RED_SCALING) * __rte_red_calc_qempty_factor(red_cfg->wq_log2, (uint16_t) m);
267 * @param red [in,out] data pointer to RED runtime data
274 __rte_red_drop(const struct rte_red_config *red_cfg, struct rte_red *red)
280 pa_num = (red->avg - red_cfg->min_th) >> (red_cfg->wq_log2);
282 pa_num_count = red->count * pa_num;
304 * @param red [in,out] data pointer to RED runtime data
314 struct rte_red *red,
318 RTE_ASSERT(red != NULL);
334 red->avg += (q << RTE_RED_SCALING) - (red->avg >> red_cfg->wq_log2);
337 if (red->avg < red_cfg->min_th) {
338 red->count ++;
343 if (red->avg < red_cfg->max_th) {
344 if (!__rte_red_drop(red_cfg, red)) {
345 red->count ++;
349 red->count = 0;
354 red->count = 0;
365 * @param red [in,out] data pointer to RED runtime data
376 struct rte_red *red,
381 RTE_ASSERT(red != NULL);
384 return rte_red_enqueue_nonempty(red_cfg, red, q);
386 return rte_red_enqueue_empty(red_cfg, red, time);
393 * @param red [in,out] data pointer to RED runtime data
397 rte_red_mark_queue_empty(struct rte_red *red, const uint64_t time)
399 red->q_time = time;