I would be cautious about cutting down the information rate to TCP.   Remember 
the collection of TCP pairs are already seeking this information.   You risk 
driving TCP's control loop crazy, especially if you end up "resonating" with it 
with positive feedback.
 
Rather than focus on "precision" or "stability" at the contended resource, 
remember the point is to minimize latency on an end-to-end basis so that all 
the TCP's can have tight control loops.  Thus there is no "goal" to making the 
contended queue maximized in capacity.  The goal is that it should drain 
quickly, which means keeping it small!   The goal is (as the codel paper says) 
to use the *minimum* latency as the estimator, not the "average" or weighted 
(delayed) average.
 
Keep focused on the control theory principles, NOT on throughput maximization.  
If you push toward maximizing throughput at any cost, even with codel, you will 
end up with *large* excursions in latency that stick for a long time.  I.e. 
bufferbloat.
-----Original Message-----
From: "Dave Täht" <[email protected]>
Sent: Thursday, August 23, 2012 9:58am
To: [email protected]
Subject: [Cerowrt-devel] [PATCH 2/2] codel: reduce count after exiting dropping 
state after one maxpacket



From: Dave Taht <[email protected]>

At a knife's edge, where we are rapidly entering and existing
a dropping state, seek lower to find the optimimum.
---
 include/net/codel.h |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/net/codel.h b/include/net/codel.h
index dbfccb7..5e85632 100644
--- a/include/net/codel.h
+++ b/include/net/codel.h
@@ -342,6 +342,9 @@ static struct sk_buff *codel_dequeue(struct Qdisc *sch,
 vars->drop_next = codel_control_law(vars->drop_next,
 params->interval,
 vars->rec_inv_sqrt);
+               } else { /* we dropped out of the dropping state in 1 pkt */
+                       vars->count = vars->count > 1 ? vars->count - 1 : 1;    
+                       codel_Newton_step(vars);
 }
 }
 end:
-- 
1.7.9.5

_______________________________________________
Cerowrt-devel mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/cerowrt-devel
_______________________________________________
Cerowrt-devel mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/cerowrt-devel

Reply via email to