Lines Matching refs:vars

64 static void codel_vars_init(struct codel_vars *vars)
66 memset(vars, 0, sizeof(*vars));
80 static void codel_Newton_step(struct codel_vars *vars)
82 u32 invsqrt = ((u32)vars->rec_inv_sqrt) << REC_INV_SQRT_SHIFT;
84 u64 val = (3LL << 32) - ((u64)vars->count * invsqrt2);
89 vars->rec_inv_sqrt = val >> REC_INV_SQRT_SHIFT;
106 struct codel_vars *vars,
118 vars->first_above_time = 0;
123 vars->ldelay = now - skb_time_func(skb);
128 if (codel_time_before(vars->ldelay, params->target) ||
131 vars->first_above_time = 0;
135 if (vars->first_above_time == 0) {
139 vars->first_above_time = now + params->interval;
140 } else if (codel_time_after(now, vars->first_above_time)) {
149 struct codel_vars *vars,
156 struct sk_buff *skb = dequeue_func(vars, ctx);
161 vars->dropping = false;
165 drop = codel_should_drop(skb, ctx, vars, params, stats,
167 if (vars->dropping) {
170 vars->dropping = false;
171 } else if (codel_time_after_eq(now, vars->drop_next)) {
180 while (vars->dropping &&
181 codel_time_after_eq(now, vars->drop_next)) {
182 vars->count++; /* dont care of possible wrap
185 codel_Newton_step(vars);
188 vars->drop_next =
189 codel_control_law(vars->drop_next,
191 vars->rec_inv_sqrt);
197 skb = dequeue_func(vars, ctx);
199 vars, params, stats,
204 vars->dropping = false;
207 vars->drop_next =
208 codel_control_law(vars->drop_next,
210 vars->rec_inv_sqrt);
224 skb = dequeue_func(vars, ctx);
225 drop = codel_should_drop(skb, ctx, vars, params,
229 vars->dropping = true;
234 delta = vars->count - vars->lastcount;
236 codel_time_before(now - vars->drop_next,
238 vars->count = delta;
243 codel_Newton_step(vars);
245 vars->count = 1;
246 vars->rec_inv_sqrt = ~0U >> REC_INV_SQRT_SHIFT;
248 vars->lastcount = vars->count;
249 vars->drop_next = codel_control_law(now, params->interval,
250 vars->rec_inv_sqrt);
253 if (skb && codel_time_after(vars->ldelay, params->ce_threshold)) {