From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) (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 CA6A2202213 for ; Sat, 5 May 2012 19:27:27 -0700 (PDT) Received: by wibhn6 with SMTP id hn6so2239036wib.10 for ; Sat, 05 May 2012 19:27:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=XNuqIfIuiJIaPJwcQVsE9cryqIsYkzCdzTv1dc+rGmM=; b=dun0+eK408RTn05dmPwMCus2YzJu9GYs65uKgp6fNv1EPJJ10qVgaVyyHni/okHNsR Mb3ZOH/tdSzTXjAdaXsSP1rTGJhvXq6yQcBNwj8I16NPpo1pUe9U2v6FU4OXXDryLESI Q94NCE3uGpoxzdQ60bzx2ArJvgxF3BVB4nFTZn5g3vyX/rOj+cTMAjybIRKVUa4VYIMV TWEjaBdKxKOkWtnbvaicSR6+5tXq2M0AmOECtLRMpsFSbjh7M8l5Z7XvJJQAH+rKNS3m DYDtGW0PmSXzSbNOCegrzSCyzNY7g0WbedwnxiQMUB+dC93w2IucHzKHlW8mvfKEIUKs ngyg== MIME-Version: 1.0 Received: by 10.216.142.226 with SMTP id i76mr7154649wej.28.1336271245225; Sat, 05 May 2012 19:27:25 -0700 (PDT) Received: by 10.223.112.66 with HTTP; Sat, 5 May 2012 19:27:25 -0700 (PDT) Date: Sat, 5 May 2012 19:27:25 -0700 Message-ID: From: Dave Taht To: Eric Dumazet Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: codel@lists.bufferbloat.net, =?ISO-8859-1?Q?Dave_T=E4ht?= Subject: [Codel] failing, bailing 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: Sun, 06 May 2012 02:27:28 -0000 So I got caught up to patch v6 and the latest iproute code from eric also on this list, got some dinner, and tried again. Failed. Lastest kernel patch is here: https://lists.bufferbloat.net/private/codel/2012-May/000073.html https://lists.bufferbloat.net/private/codel/2012-May/000076.html And the current iproute2 patch is here: https://lists.bufferbloat.net/private/codel/2012-May/000074.html On Sat, May 5, 2012 at 4:19 PM, dave taht wrote: > On 05/05/2012 04:07 PM, Eric Dumazet wrote: >> This part of Codel seems suspicious (last page ) >> >> // If min went above target close to when we last went below it >> // assume that the drop rate that controlled the queue on the >> // last cycle is a good starting point to control it now. >> if (now - drop_next< =A016.*interval) { >> =A0 =A0 =A0 =A0int c =3D count - 1; >> =A0 =A0 =A0 =A0count =3D c<1? 1 : c; >> else { >> =A0 =A0 =A0 =A0count =3D 1; >> } >> >> >> I suggest to replace it by a more conservative algo : >> >> // If min went above target close to when we last went below it >> // assume that sqrt(half) the drop rate that controlled the queue on the >> // last cycle is a good starting point to control it now. >> if (now - drop_next< =A016.*interval) { >> =A0 =A0 =A0 =A0int c =3D count>> =A01; >> =A0 =A0 =A0 =A0count =3D c<1? 1 : c; >> else { >> =A0 =A0 =A0 =A0count =3D 1; >> } >> > I don't buy it. See previous mail. OK, but I rented the idea. Against about 30 streams I get this... $TC -s qdisc show dev eth0 qdisc codel 8007: root refcnt 2 limit 1000p minbytes 1514 target 5.0ms interval 100.0ms Sent 1710602931 bytes 1217897 pkt (dropped 32097, overlimits 0 requeues 520278) backlog 112036b 75p requeues 520278 count 2784 delay 9.0ms drop_next 489us > count - some_x sure. Worse. Then I tried tossing this in everywhere there was a >, to increase the granularity of the comparison to 10us static inline int ktime_compare_us10(ktime_t lhs, const ktime_t rhs) { return(ktime_compare(ktime_add_ns(lhs,10000),rhs)); } need to sanitize all the comparisons tho... but I'm... Giving up. Calling in the gods. Tossing the preso on my kindle and calling it a day. > > >> With this change, my q->count max value is 12000 >> >> >> > --=20 Dave T=E4ht SKYPE: davetaht US Tel: 1-239-829-5608 http://www.bufferbloat.net