Lines Matching refs:vars

74 	struct pie_vars vars;  member
90 static void pie_vars_init(struct pie_vars *vars) in pie_vars_init() argument
92 vars->dq_count = DQCOUNT_INVALID; in pie_vars_init()
93 vars->avg_dq_rate = 0; in pie_vars_init()
95 vars->burst_time = PSCHED_NS2TICKS(100 * NSEC_PER_MSEC); in pie_vars_init()
102 u32 local_prob = q->vars.prob; in drop_early()
106 if (q->vars.burst_time > 0) in drop_early()
112 if ((q->vars.qdelay < q->params.target / 2) in drop_early()
113 && (q->vars.prob < MAX_PROB / 5)) in drop_early()
128 local_prob = q->vars.prob; in drop_early()
149 } else if (q->params.ecn && (q->vars.prob <= MAX_PROB / 10) && in pie_qdisc_enqueue()
254 if (qlen >= QUEUE_THRESHOLD && q->vars.dq_count == DQCOUNT_INVALID) { in pie_process_dequeue()
255 q->vars.dq_tstamp = psched_get_time(); in pie_process_dequeue()
256 q->vars.dq_count = 0; in pie_process_dequeue()
268 if (q->vars.dq_count != DQCOUNT_INVALID) { in pie_process_dequeue()
269 q->vars.dq_count += skb->len; in pie_process_dequeue()
271 if (q->vars.dq_count >= QUEUE_THRESHOLD) { in pie_process_dequeue()
273 u32 dtime = now - q->vars.dq_tstamp; in pie_process_dequeue()
274 u32 count = q->vars.dq_count << PIE_SCALE; in pie_process_dequeue()
281 if (q->vars.avg_dq_rate == 0) in pie_process_dequeue()
282 q->vars.avg_dq_rate = count; in pie_process_dequeue()
284 q->vars.avg_dq_rate = in pie_process_dequeue()
285 (q->vars.avg_dq_rate - in pie_process_dequeue()
286 (q->vars.avg_dq_rate >> 3)) + (count >> 3); in pie_process_dequeue()
294 q->vars.dq_count = DQCOUNT_INVALID; in pie_process_dequeue()
296 q->vars.dq_count = 0; in pie_process_dequeue()
297 q->vars.dq_tstamp = psched_get_time(); in pie_process_dequeue()
300 if (q->vars.burst_time > 0) { in pie_process_dequeue()
301 if (q->vars.burst_time > dtime) in pie_process_dequeue()
302 q->vars.burst_time -= dtime; in pie_process_dequeue()
304 q->vars.burst_time = 0; in pie_process_dequeue()
315 psched_time_t qdelay_old = q->vars.qdelay; /* in pschedtime */ in calculate_probability()
321 q->vars.qdelay_old = q->vars.qdelay; in calculate_probability()
323 if (q->vars.avg_dq_rate > 0) in calculate_probability()
324 qdelay = (qlen << PIE_SCALE) / q->vars.avg_dq_rate; in calculate_probability()
345 if (q->vars.prob < MAX_PROB / 100) { in calculate_probability()
350 } else if (q->vars.prob < MAX_PROB / 10) { in calculate_probability()
366 oldprob = q->vars.prob; in calculate_probability()
370 q->vars.prob >= MAX_PROB / 10) in calculate_probability()
381 q->vars.prob += delta; in calculate_probability()
385 if (q->vars.prob < oldprob) { in calculate_probability()
386 q->vars.prob = MAX_PROB; in calculate_probability()
396 if (q->vars.prob > oldprob) in calculate_probability()
397 q->vars.prob = 0; in calculate_probability()
405 q->vars.prob = (q->vars.prob * 98) / 100; in calculate_probability()
407 q->vars.qdelay = qdelay; in calculate_probability()
408 q->vars.qlen_old = qlen; in calculate_probability()
416 if ((q->vars.qdelay < q->params.target / 2) && in calculate_probability()
417 (q->vars.qdelay_old < q->params.target / 2) && in calculate_probability()
418 (q->vars.prob == 0) && in calculate_probability()
419 (q->vars.avg_dq_rate > 0)) in calculate_probability()
420 pie_vars_init(&q->vars); in calculate_probability()
444 pie_vars_init(&q->vars); in pie_init()
493 .prob = q->vars.prob, in pie_dump_stats()
494 .delay = ((u32) PSCHED_TICKS2NS(q->vars.qdelay)) / in pie_dump_stats()
497 .avg_dq_rate = q->vars.avg_dq_rate * in pie_dump_stats()
525 pie_vars_init(&q->vars); in pie_reset()