mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	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>
This commit is contained in:
		
							parent
							
								
									1b5c0077e1
								
							
						
					
					
						commit
						512bb43eb5
					
				
					 1 changed files with 5 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -726,7 +726,7 @@ static struct htb_class *htb_lookup_leaf(struct rb_root *tree, int prio,
 | 
			
		|||
		u32 *pid;
 | 
			
		||||
	} stk[TC_HTB_MAXDEPTH], *sp = stk;
 | 
			
		||||
 | 
			
		||||
	WARN_ON(!tree->rb_node);
 | 
			
		||||
	BUG_ON(!tree->rb_node);
 | 
			
		||||
	sp->root = tree->rb_node;
 | 
			
		||||
	sp->pptr = pptr;
 | 
			
		||||
	sp->pid = pid;
 | 
			
		||||
| 
						 | 
				
			
			@ -746,9 +746,10 @@ static struct htb_class *htb_lookup_leaf(struct rb_root *tree, int prio,
 | 
			
		|||
				*sp->pptr = (*sp->pptr)->rb_left;
 | 
			
		||||
			if (sp > stk) {
 | 
			
		||||
				sp--;
 | 
			
		||||
				WARN_ON(!*sp->pptr);
 | 
			
		||||
				if (!*sp->pptr)
 | 
			
		||||
				if (!*sp->pptr) {
 | 
			
		||||
					WARN_ON(1);
 | 
			
		||||
					return NULL;
 | 
			
		||||
				}
 | 
			
		||||
				htb_next_rb_node(sp->pptr);
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
| 
						 | 
				
			
			@ -779,8 +780,7 @@ static struct sk_buff *htb_dequeue_tree(struct htb_sched *q, int prio,
 | 
			
		|||
 | 
			
		||||
	do {
 | 
			
		||||
next:
 | 
			
		||||
		WARN_ON(!cl);
 | 
			
		||||
		if (!cl)
 | 
			
		||||
		if (unlikely(!cl))
 | 
			
		||||
			return NULL;
 | 
			
		||||
 | 
			
		||||
		/* class can be empty - it is unlikely but can be true if leaf
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue