sch_sfq.c (b160292cc216a50fd0cd386b0bda2cd48352c73b) | sch_sfq.c (b24b8a247ff65c01b252025926fe564209fae4fc) |
---|---|
1/* 2 * net/sched/sch_sfq.c Stochastic Fairness Queueing discipline. 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License 6 * as published by the Free Software Foundation; either version 7 * 2 of the License, or (at your option) any later version. 8 * --- 412 unchanged lines hidden (view full) --- 421 return 0; 422} 423 424static int sfq_init(struct Qdisc *sch, struct rtattr *opt) 425{ 426 struct sfq_sched_data *q = qdisc_priv(sch); 427 int i; 428 | 1/* 2 * net/sched/sch_sfq.c Stochastic Fairness Queueing discipline. 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License 6 * as published by the Free Software Foundation; either version 7 * 2 of the License, or (at your option) any later version. 8 * --- 412 unchanged lines hidden (view full) --- 421 return 0; 422} 423 424static int sfq_init(struct Qdisc *sch, struct rtattr *opt) 425{ 426 struct sfq_sched_data *q = qdisc_priv(sch); 427 int i; 428 |
429 init_timer(&q->perturb_timer); 430 q->perturb_timer.data = (unsigned long)sch; 431 q->perturb_timer.function = sfq_perturbation; | 429 setup_timer(&q->perturb_timer, sfq_perturbation, (unsigned long)sch); |
432 433 for (i=0; i<SFQ_HASH_DIVISOR; i++) 434 q->ht[i] = SFQ_DEPTH; 435 for (i=0; i<SFQ_DEPTH; i++) { 436 skb_queue_head_init(&q->qs[i]); 437 q->dep[i+SFQ_DEPTH].next = i+SFQ_DEPTH; 438 q->dep[i+SFQ_DEPTH].prev = i+SFQ_DEPTH; 439 } --- 73 unchanged lines hidden --- | 430 431 for (i=0; i<SFQ_HASH_DIVISOR; i++) 432 q->ht[i] = SFQ_DEPTH; 433 for (i=0; i<SFQ_DEPTH; i++) { 434 skb_queue_head_init(&q->qs[i]); 435 q->dep[i+SFQ_DEPTH].next = i+SFQ_DEPTH; 436 q->dep[i+SFQ_DEPTH].prev = i+SFQ_DEPTH; 437 } --- 73 unchanged lines hidden --- |