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()
255 if (qlen >= QUEUE_THRESHOLD && q->vars.dq_count == DQCOUNT_INVALID) { in pie_process_dequeue()
256 q->vars.dq_tstamp = psched_get_time(); in pie_process_dequeue()
257 q->vars.dq_count = 0; in pie_process_dequeue()
269 if (q->vars.dq_count != DQCOUNT_INVALID) { in pie_process_dequeue()
270 q->vars.dq_count += skb->len; in pie_process_dequeue()
272 if (q->vars.dq_count >= QUEUE_THRESHOLD) { in pie_process_dequeue()
274 u32 dtime = now - q->vars.dq_tstamp; in pie_process_dequeue()
275 u32 count = q->vars.dq_count << PIE_SCALE; in pie_process_dequeue()
282 if (q->vars.avg_dq_rate == 0) in pie_process_dequeue()
283 q->vars.avg_dq_rate = count; in pie_process_dequeue()
285 q->vars.avg_dq_rate = in pie_process_dequeue()
286 (q->vars.avg_dq_rate - in pie_process_dequeue()
287 (q->vars.avg_dq_rate >> 3)) + (count >> 3); in pie_process_dequeue()
295 q->vars.dq_count = DQCOUNT_INVALID; in pie_process_dequeue()
297 q->vars.dq_count = 0; in pie_process_dequeue()
298 q->vars.dq_tstamp = psched_get_time(); in pie_process_dequeue()
301 if (q->vars.burst_time > 0) { in pie_process_dequeue()
302 if (q->vars.burst_time > dtime) in pie_process_dequeue()
303 q->vars.burst_time -= dtime; in pie_process_dequeue()
305 q->vars.burst_time = 0; in pie_process_dequeue()
316 psched_time_t qdelay_old = q->vars.qdelay; /* in pschedtime */ in calculate_probability()
322 q->vars.qdelay_old = q->vars.qdelay; in calculate_probability()
324 if (q->vars.avg_dq_rate > 0) in calculate_probability()
325 qdelay = (qlen << PIE_SCALE) / q->vars.avg_dq_rate; in calculate_probability()
346 if (q->vars.prob < MAX_PROB / 100) { in calculate_probability()
351 } else if (q->vars.prob < MAX_PROB / 10) { in calculate_probability()
367 oldprob = q->vars.prob; in calculate_probability()
371 q->vars.prob >= MAX_PROB / 10) in calculate_probability()
382 q->vars.prob += delta; in calculate_probability()
386 if (q->vars.prob < oldprob) { in calculate_probability()
387 q->vars.prob = MAX_PROB; in calculate_probability()
397 if (q->vars.prob > oldprob) in calculate_probability()
398 q->vars.prob = 0; in calculate_probability()
406 q->vars.prob = (q->vars.prob * 98) / 100; in calculate_probability()
408 q->vars.qdelay = qdelay; in calculate_probability()
409 q->vars.qlen_old = qlen; in calculate_probability()
417 if ((q->vars.qdelay < q->params.target / 2) && in calculate_probability()
418 (q->vars.qdelay_old < q->params.target / 2) && in calculate_probability()
419 (q->vars.prob == 0) && in calculate_probability()
420 (q->vars.avg_dq_rate > 0)) in calculate_probability()
421 pie_vars_init(&q->vars); in calculate_probability()
445 pie_vars_init(&q->vars); in pie_init()
494 .prob = q->vars.prob, in pie_dump_stats()
495 .delay = ((u32) PSCHED_TICKS2NS(q->vars.qdelay)) / in pie_dump_stats()
498 .avg_dq_rate = q->vars.avg_dq_rate * in pie_dump_stats()
526 pie_vars_init(&q->vars); in pie_reset()