37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From b379135c40163ae79ba7a54e6928b53983e74ee8 Mon Sep 17 00:00:00 2001
 | 
						|
From: Eric Dumazet <eric.dumazet@gmail.com>
 | 
						|
Date: Sat, 1 Sep 2012 03:19:57 +0000
 | 
						|
Subject: [PATCH 307/558] fq_codel: dont reinit flow state
 | 
						|
 | 
						|
When fq_codel builds a new flow, it should not reset codel state.
 | 
						|
 | 
						|
Codel algo needs to get previous values (lastcount, drop_next) to get
 | 
						|
proper behavior.
 | 
						|
 | 
						|
Signed-off-by: Dave Taht <dave.taht@gmail.com>
 | 
						|
Signed-off-by: Eric Dumazet <edumazet@google.com>
 | 
						|
Acked-by: Dave Taht <dave.taht@bufferbloat.net>
 | 
						|
Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
						|
---
 | 
						|
 net/sched/sch_fq_codel.c |    2 +-
 | 
						|
 1 file changed, 1 insertion(+), 1 deletion(-)
 | 
						|
 | 
						|
--- a/net/sched/sch_fq_codel.c
 | 
						|
+++ b/net/sched/sch_fq_codel.c
 | 
						|
@@ -191,7 +191,6 @@ static int fq_codel_enqueue(struct sk_bu
 | 
						|
 
 | 
						|
 	if (list_empty(&flow->flowchain)) {
 | 
						|
 		list_add_tail(&flow->flowchain, &q->new_flows);
 | 
						|
-		codel_vars_init(&flow->cvars);
 | 
						|
 		q->new_flow_count++;
 | 
						|
 		flow->deficit = q->quantum;
 | 
						|
 		flow->dropped = 0;
 | 
						|
@@ -418,6 +417,7 @@ static int fq_codel_init(struct Qdisc *s
 | 
						|
 			struct fq_codel_flow *flow = q->flows + i;
 | 
						|
 
 | 
						|
 			INIT_LIST_HEAD(&flow->flowchain);
 | 
						|
+			codel_vars_init(&flow->cvars);
 | 
						|
 		}
 | 
						|
 	}
 | 
						|
 	if (sch->limit >= 1)
 |