From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ie0-x230.google.com (mail-ie0-x230.google.com [IPv6:2607:f8b0:4001:c03::230]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 4F97121F1A1 for ; Thu, 11 Jul 2013 10:17:48 -0700 (PDT) Received: by mail-ie0-f176.google.com with SMTP id ar20so18855081iec.35 for ; Thu, 11 Jul 2013 10:17:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=qJlsJJPBFyTcnpmh+0yfhRYiY1wXuNI+UqjdUcHuld4=; b=gssXTBbZW7tVz3Dryp2SJqqiDFNuBm/rYw8g1bYgu7GPkj880SyQGTYMSaqU1gP0dj +m7bmN2fCTK1hFGi7aA+11A9ASd6dTsAj4ymEJQBO1SqyQzsV/1L5zHdr5SThzRyLcYd dY9e3DXnT47oxw6aHvkmpNCc1nHGNLf2aja6dheB0skpU5Z2SXipDrUqvNj1SN5j51Ct VY+tdRFmBOXY2QMdoLem9xGh58Ha9LStJOKz2hHunEW7fBxu7Eqe2fkYgp6uXYyJw/Wg L1QFzOdKvIdLbnpRE5zxh+RBX5rTY49Tv1az3TilsDwRIKi7Xc84mSpheG2BMWwtbZVz 3JIw== MIME-Version: 1.0 X-Received: by 10.43.133.70 with SMTP id hx6mr11748798icc.34.1373563067628; Thu, 11 Jul 2013 10:17:47 -0700 (PDT) Received: by 10.64.98.162 with HTTP; Thu, 11 Jul 2013 10:17:47 -0700 (PDT) In-Reply-To: <51DEE34B.5060003@pollere.com> References: <51DED2FF.604@pollere.com> <1373559721.4600.43.camel@edumazet-glaptop> <51DEE34B.5060003@pollere.com> Date: Thu, 11 Jul 2013 10:17:47 -0700 Message-ID: From: Dave Taht To: Kathleen Nichols Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: "codel@lists.bufferbloat.net" Subject: Re: [Codel] sprout 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, 11 Jul 2013 17:17:48 -0000 On Thu, Jul 11, 2013 at 9:54 AM, Kathleen Nichols wro= te: > > Yes. I think that's a sort of "application - dependent" bit of code perha= ps. > Van and I had various discussions about this and put that in with very > low bandwidth applications in mind, where some "maximums" might > be much smaller than others. Well perhaps a better number to turn off the scheduler at is a backlog of 0, as a single packet is 13ms at 1Mbit. I'll fiddle at some really low rates over the next couple days. Stopping at 1500 makes not a lot of sense as at the level codel is at there is always underlying buffering everywhere in the linux stack I see. Even with htb there is always one packet outstanding outside of codel... (note: in the nfq_codel case I'd also tried keeping a per queue maxpacket, so as an ack-only stream would retain some probability of a drop) > > On 7/11/13 9:22 AM, Eric Dumazet wrote: >> On Thu, 2013-07-11 at 08:45 -0700, Kathleen Nichols wrote: >> >>> Dave, not completely sure which reservation about maxpacket is in refer= ence. >> >> Hi Kathleen >> >> I believe Dave is referring to the fact that we update maxpacket every >> time we dequeue a packet, and with GSO packet it makes little sense >> because after a while maxpacket is set to ~65535, the limit of the GSO >> packet size. >> >> We might remove this code, and make maxpacket a constant. >> >> diff --git a/include/net/codel.h b/include/net/codel.h >> index 389cf62..470e1ff 100644 >> --- a/include/net/codel.h >> +++ b/include/net/codel.h >> @@ -170,7 +170,7 @@ static void codel_vars_init(struct codel_vars *vars) >> >> static void codel_stats_init(struct codel_stats *stats) >> { >> - stats->maxpacket =3D 256; >> + stats->maxpacket =3D 1500; >> } >> >> /* >> @@ -221,9 +221,6 @@ static bool codel_should_drop(const struct sk_buff *= skb, >> vars->ldelay =3D now - codel_get_enqueue_time(skb); >> sch->qstats.backlog -=3D qdisc_pkt_len(skb); >> >> - if (unlikely(qdisc_pkt_len(skb) > stats->maxpacket)) >> - stats->maxpacket =3D qdisc_pkt_len(skb); >> - >> if (codel_time_before(vars->ldelay, params->target) || >> sch->qstats.backlog <=3D stats->maxpacket) { >> /* went below - stay below for at least interval */ Well you can nuke the variable entirely and the second part of the conditional... >> >> > --=20 Dave T=E4ht Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.= html