diff options
author | Jarek Poplawski <jarkao2@gmail.com> | 2008-12-10 01:35:02 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-10 01:35:02 -0500 |
commit | 512bb43eb5422ee69a1be05ea0d89dc074fac9a2 (patch) | |
tree | 8d38219eff87fbf684fb168cc0d32647e8037f98 /net | |
parent | 1b5c0077e1615bb16e777a10ec1fc1195ba059ac (diff) |
pkt_sched: sch_htb: Optimize WARN_ONs in htb_dequeue_tree() etc.
We can skip WARN_ON() in htb_dequeue_tree() because there should be
always a similar warning from htb_lookup_leaf() earlier.
The first WARN_ON() in in htb_lookup_leaf() is changed to BUG_ON()
because most likly this should end with oops anyway.
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/sched/sch_htb.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index b820a0ae7355..5070643ce534 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c | |||
@@ -726,7 +726,7 @@ static struct htb_class *htb_lookup_leaf(struct rb_root *tree, int prio, | |||
726 | u32 *pid; | 726 | u32 *pid; |
727 | } stk[TC_HTB_MAXDEPTH], *sp = stk; | 727 | } stk[TC_HTB_MAXDEPTH], *sp = stk; |
728 | 728 | ||
729 | WARN_ON(!tree->rb_node); | 729 | BUG_ON(!tree->rb_node); |
730 | sp->root = tree->rb_node; | 730 | sp->root = tree->rb_node; |
731 | sp->pptr = pptr; | 731 | sp->pptr = pptr; |
732 | sp->pid = pid; | 732 | sp->pid = pid; |
@@ -746,9 +746,10 @@ static struct htb_class *htb_lookup_leaf(struct rb_root *tree, int prio, | |||
746 | *sp->pptr = (*sp->pptr)->rb_left; | 746 | *sp->pptr = (*sp->pptr)->rb_left; |
747 | if (sp > stk) { | 747 | if (sp > stk) { |
748 | sp--; | 748 | sp--; |
749 | WARN_ON(!*sp->pptr); | 749 | if (!*sp->pptr) { |
750 | if (!*sp->pptr) | 750 | WARN_ON(1); |
751 | return NULL; | 751 | return NULL; |
752 | } | ||
752 | htb_next_rb_node(sp->pptr); | 753 | htb_next_rb_node(sp->pptr); |
753 | } | 754 | } |
754 | } else { | 755 | } else { |
@@ -779,8 +780,7 @@ static struct sk_buff *htb_dequeue_tree(struct htb_sched *q, int prio, | |||
779 | 780 | ||
780 | do { | 781 | do { |
781 | next: | 782 | next: |
782 | WARN_ON(!cl); | 783 | if (unlikely(!cl)) |
783 | if (!cl) | ||
784 | return NULL; | 784 | return NULL; |
785 | 785 | ||
786 | /* class can be empty - it is unlikely but can be true if leaf | 786 | /* class can be empty - it is unlikely but can be true if leaf |