From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by huchra.bufferbloat.net (Postfix, from userid 1000) id D491621F0CC; Thu, 23 Aug 2012 01:37:24 -0700 (PDT) From: =?UTF-8?q?Dave=20T=C3=A4ht?= To: codel@lists.bufferbloat.net Date: Thu, 23 Aug 2012 01:37:23 -0700 Message-Id: <1345711043-4796-2-git-send-email-dave.taht@bufferbloat.net> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1345711043-4796-1-git-send-email-dave.taht@bufferbloat.net> References: <1345711043-4796-1-git-send-email-dave.taht@bufferbloat.net> Cc: Dave Taht Subject: [Codel] [PATCH 2/2] codel: reduce count after exiting dropping state after one maxpacket X-BeenThere: codel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: CoDel AQM discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Aug 2012 08:37:24 -0000 From: Dave Taht 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