Lines Matching refs:v
159 static inline void red_set_vars(struct red_vars *v) in red_set_vars() argument
165 v->qavg = 0; in red_set_vars()
167 v->qcount = -1; in red_set_vars()
267 static inline int red_is_idling(const struct red_vars *v) in red_is_idling() argument
269 return v->qidlestart != 0; in red_is_idling()
272 static inline void red_start_of_idle_period(struct red_vars *v) in red_start_of_idle_period() argument
274 v->qidlestart = ktime_get(); in red_start_of_idle_period()
277 static inline void red_end_of_idle_period(struct red_vars *v) in red_end_of_idle_period() argument
279 v->qidlestart = 0; in red_end_of_idle_period()
282 static inline void red_restart(struct red_vars *v) in red_restart() argument
284 red_end_of_idle_period(v); in red_restart()
285 v->qavg = 0; in red_restart()
286 v->qcount = -1; in red_restart()
290 const struct red_vars *v) in red_calc_qavg_from_idle_time() argument
292 s64 delta = ktime_us_delta(ktime_get(), v->qidlestart); in red_calc_qavg_from_idle_time()
319 return v->qavg >> shift; in red_calc_qavg_from_idle_time()
328 us_idle = (v->qavg * (u64)us_idle) >> p->Scell_log; in red_calc_qavg_from_idle_time()
330 if (us_idle < (v->qavg >> 1)) in red_calc_qavg_from_idle_time()
331 return v->qavg - us_idle; in red_calc_qavg_from_idle_time()
333 return v->qavg >> 1; in red_calc_qavg_from_idle_time()
338 const struct red_vars *v, in red_calc_qavg_no_idle_time() argument
350 return v->qavg + (backlog - (v->qavg >> p->Wlog)); in red_calc_qavg_no_idle_time()
354 const struct red_vars *v, in red_calc_qavg() argument
357 if (!red_is_idling(v)) in red_calc_qavg()
358 return red_calc_qavg_no_idle_time(p, v, backlog); in red_calc_qavg()
360 return red_calc_qavg_from_idle_time(p, v); in red_calc_qavg()
370 const struct red_vars *v, in red_mark_probability() argument
389 return !(((qavg - p->qth_min) >> p->Wlog) * v->qcount < v->qR); in red_mark_probability()
415 struct red_vars *v, in red_action() argument
420 v->qcount = -1; in red_action()
424 if (++v->qcount) { in red_action()
425 if (red_mark_probability(p, v, qavg)) { in red_action()
426 v->qcount = 0; in red_action()
427 v->qR = red_random(p); in red_action()
431 v->qR = red_random(p); in red_action()
436 v->qcount = -1; in red_action()
444 static inline void red_adaptative_algo(struct red_parms *p, struct red_vars *v) in red_adaptative_algo() argument
449 qavg = v->qavg; in red_adaptative_algo()
450 if (red_is_idling(v)) in red_adaptative_algo()
451 qavg = red_calc_qavg_from_idle_time(p, v); in red_adaptative_algo()