Lines Matching refs:prec
126 * low drop prec: 01
127 * medium drop prec: 10
128 * high drop prec: 01
251 struct dropprec_state *prec = &rp->rio_precstate[i];
253 prec->avg = 0;
254 prec->idle = 1;
257 prec->inv_pmax = default_rio_params[i].inv_pmax;
259 prec->inv_pmax = params[i].inv_pmax;
261 prec->th_min = default_rio_params[i].th_min;
263 prec->th_min = params[i].th_min;
265 prec->th_max = default_rio_params[i].th_max;
267 prec->th_max = params[i].th_max;
273 prec->th_min_s = prec->th_min << (rp->rio_wshift + FP_SHIFT);
274 prec->th_max_s = prec->th_max << (rp->rio_wshift + FP_SHIFT);
280 prec->probd = (2 * (prec->th_max - prec->th_min)
281 * prec->inv_pmax) << FP_SHIFT;
283 microtime(&prec->last);
345 struct dropprec_state *prec;
356 prec = &rp->rio_precstate[i];
357 avg = prec->avg;
358 if (prec->idle) {
359 prec->idle = 0;
362 t = (now.tv_sec - prec->last.tv_sec);
367 (now.tv_usec - prec->last.tv_usec);
377 avg += (prec->qlen << FP_SHIFT) - (avg >> rp->rio_wshift);
378 prec->avg = avg; /* save the new value */
383 prec->count++;
386 prec = &rp->rio_precstate[dpindex];
387 avg = prec->avg;
391 if (avg >= prec->th_min_s && prec->qlen > 1) {
392 if (avg >= prec->th_max_s) {
395 } else if (prec->old == 0) {
397 prec->count = 1;
398 prec->old = 1;
399 } else if (drop_early((avg - prec->th_min_s) >> rp->rio_wshift,
400 prec->probd, prec->count)) {
406 prec->old = 0;