diff options
author | Jarek Poplawski <jarkao2@gmail.com> | 2009-02-01 01:12:42 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-02-01 01:12:42 -0800 |
commit | b00355db3f88d96810a60011a30cfb2c3469409d (patch) | |
tree | 43331c769665e619892d8f97a38ce1d12b3a6363 /net/sched/sch_htb.c | |
parent | eefef1cf7653cd4e0aaf743c00ae8345086cdc01 (diff) | |
download | linux-stable-b00355db3f88d96810a60011a30cfb2c3469409d.tar.gz linux-stable-b00355db3f88d96810a60011a30cfb2c3469409d.tar.bz2 linux-stable-b00355db3f88d96810a60011a30cfb2c3469409d.zip |
pkt_sched: sch_hfsc: sch_htb: Add non-work-conserving warning handler.
Patrick McHardy <kaber@trash.net> suggested:
> How about making this flag and the warning message (in a out-of-line
> function) globally available? Other qdiscs (f.i. HFSC) can't deal with
> inner non-work-conserving qdiscs as well.
This patch uses qdisc->flags field of "suspected" child qdisc.
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_htb.c')
-rw-r--r-- | net/sched/sch_htb.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index 2f0f0b04d3fb..77ff510ef8ac 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c @@ -114,8 +114,6 @@ struct htb_class { struct tcf_proto *filter_list; int filter_cnt; - int warned; /* only one warning about non work conserving .. */ - /* token bucket parameters */ struct qdisc_rate_table *rate; /* rate table of the class itself */ struct qdisc_rate_table *ceil; /* ceiling rate (limits borrows too) */ @@ -809,13 +807,8 @@ next: skb = cl->un.leaf.q->dequeue(cl->un.leaf.q); if (likely(skb != NULL)) break; - if (!cl->warned) { - printk(KERN_WARNING - "htb: class %X isn't work conserving ?!\n", - cl->common.classid); - cl->warned = 1; - } + qdisc_warn_nonwc("htb", cl->un.leaf.q); htb_next_rb_node((level ? cl->parent->un.inner.ptr : q-> ptr[0]) + prio); cl = htb_lookup_leaf(q->row[level] + prio, prio, |