aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/sch_sfq.c
diff options
context:
space:
mode:
authorStephen Hemminger <stephen.hemminger@vyatta.com>2008-01-20 20:18:45 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:08:15 -0500
commitd3e994830d35159320d0a98c36aa580410c29609 (patch)
tree501e65c40e46f527764d4494ed4c9bf923bf8c5f /net/sched/sch_sfq.c
parent51314a17baabc710e5fb12975fe8983dedd5ac0d (diff)
[PKT_SCHED] SFQ: timer is deferrable
The perturbation timer used for re-keying can be deferred, it doesn't need to be deterministic. Signed-off-by: Stephen Hemminger <stephen.hemminger@vyatta.com> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_sfq.c')
-rw-r--r--net/sched/sch_sfq.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c
index c58fa6efc7a2..ba3a85e29b21 100644
--- a/net/sched/sch_sfq.c
+++ b/net/sched/sch_sfq.c
@@ -426,7 +426,9 @@ static int sfq_init(struct Qdisc *sch, struct rtattr *opt)
426 struct sfq_sched_data *q = qdisc_priv(sch); 426 struct sfq_sched_data *q = qdisc_priv(sch);
427 int i; 427 int i;
428 428
429 setup_timer(&q->perturb_timer, sfq_perturbation, (unsigned long)sch); 429 q->perturb_timer.function = sfq_perturbation;
430 q->perturb_timer.data = (unsigned long)sch;;
431 init_timer_deferrable(&q->perturb_timer);
430 432
431 for (i=0; i<SFQ_HASH_DIVISOR; i++) 433 for (i=0; i<SFQ_HASH_DIVISOR; i++)
432 q->ht[i] = SFQ_DEPTH; 434 q->ht[i] = SFQ_DEPTH;