From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from homiemail-a89.g.dreamhost.com (caiajhbdcbbj.dreamhost.com [208.97.132.119]) by huchra.bufferbloat.net (Postfix) with ESMTP id 2F1162002A9 for ; Fri, 27 Jul 2012 13:09:45 -0700 (PDT) Received: from homiemail-a89.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a89.g.dreamhost.com (Postfix) with ESMTP id 2D2FC318074; Fri, 27 Jul 2012 13:09:44 -0700 (PDT) Received: from [10.16.222.108] (mobile-198-228-215-189.mycingular.net [198.228.215.189]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: nichols@pollere.net) by homiemail-a89.g.dreamhost.com (Postfix) with ESMTPSA id D9A6931805D; Fri, 27 Jul 2012 13:09:43 -0700 (PDT) References: <1343211979.2626.11148.camel@edumazet-glaptop> <5D281805-E7EE-4852-B10F-DDF7A1E3677A@gmail.com> <1343365976.2626.12171.camel@edumazet-glaptop> In-Reply-To: <1343365976.2626.12171.camel@edumazet-glaptop> Mime-Version: 1.0 (1.0) Content-Type: text/plain; charset=us-ascii Message-Id: Content-Transfer-Encoding: 7bit X-Mailer: iPhone Mail (9B206) From: Kathleen Nichols Date: Fri, 27 Jul 2012 13:09:40 -0700 To: Eric Dumazet Cc: "codel@lists.bufferbloat.net" , Anton Mich Subject: Re: [Codel] Fwd: count and rec_inv_sqrt initialization 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: Fri, 27 Jul 2012 20:09:45 -0000 Probably best to say the control law is where we are still working. On Jul 26, 2012, at 10:12 PM, Eric Dumazet wrote: > On Thu, 2012-07-26 at 16:47 -0700, Anton Mich wrote: >> Hi Eric, >> >> Thanks for looking into this! >> May I also ask what is the intuition behind using this delta (which >> is, in my understanding, equal to the number of drops between the >> lastcount and the current count) as the new count value? I tried to >> track down in the codel list when this changed from what's in the >> paper, pseudocode and NS-2 to what is now in Linux but I didn't find >> anything. >> > > Kathleen & Van are still discussing of what should be exactly done here. > > The delta idea came from them, at a moment no public discussion was > happening (before publication, we were privately implementing codel) > > Before the delta, we had following codes : > > Version v1 -> v6 : (05/03/2012 -> 05/05/2012) > > + if (now.tv64 - q->drop_next.tv64 < > + 16 * q->interval.tv64) { > + int c = q->count - 1; > + q->count = c < 1 ? 1 : c; > + } else { > + q->count = 1; > + } > > But count was growing and was not going back to lower values > > I suggested to use instead : > > if (now - drop_next< 16.*interval) { > unsigned int c = q->count >> 1; > > count = c < 1 ? 1 : c; > else { > count = 1; > } > > Then we also tried > > c = min(q->count - 1, q->count - (q->count>>4)); > > (Dave even had a module param :) > > static u32 count_rescale(struct codel_sched_data *q, codel_time_t now) { > s32 c = 1; > > if (codel_time_after(now - q->drop_next, 16 * q->interval)) { > switch(decrease_method) { > case 3: > break; > case 2: /* Dumazet 2 */ > c = q->count >> 1; > break; > case 1: /* Dumazet 1 */ > c = min(q->count - 1, > q->count - (q->count >> 4)); > break; > case 0: /* Codel Paper Default */ > default: > c = q->count - 1; > } > c = max(1U, c); > } > return (u32) c; > } > > in v13 ( 05/10/2012) we had the current form > > But codel is not finalized ;) > > > > _______________________________________________ > Codel mailing list > Codel@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/codel