Lines Matching refs:vars

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