From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi0-x229.google.com (mail-oi0-x229.google.com [IPv6:2607:f8b0:4003:c06::229]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id A04C621F314 for ; Thu, 19 Nov 2015 00:55:09 -0800 (PST) Received: by oiww189 with SMTP id w189so41017440oiw.3 for ; Thu, 19 Nov 2015 00:55:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=aAj1/4pxJQaLgNx2FLgE52VLaRtsmtdIfeeRv3YpSQc=; b=lFD1OjUx14WfqX3RwUvHsYZuJl0KqASu6pmzJCgKIxpsYBEBRm6Ayh1cz1113NByrY 32WL1PEZ72HxWfoVSrfL9pREvfmeJwZqwwJwyUdI6GYlHYFNl3WAi2Dx1pLfnqrYcUU+ gUFuRN+U+XPuac+8N5AcMSWMij9mflIz7epaBtNdmKthp4bVaeXH84Co72gov8rEuXTE Tpyrx+/l5kXZjcEm4k8mucONqoKhFYgjC/rheJpYlvjbhM2tzEK5KLmVVs4x+7GC7iDl QC3oxEIBT+aXLiDWk+SQfq5XTMA+NQoPL1FpTIKmYbWSnxBAg7p3M8jQTkTR3H4YR5Dy MRaw== MIME-Version: 1.0 X-Received: by 10.202.243.134 with SMTP id r128mr3858657oih.116.1447923308390; Thu, 19 Nov 2015 00:55:08 -0800 (PST) Received: by 10.202.50.130 with HTTP; Thu, 19 Nov 2015 00:55:08 -0800 (PST) Date: Thu, 19 Nov 2015 09:55:08 +0100 Message-ID: From: Dave Taht To: cake@lists.bufferbloat.net Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Cake] cake coding comments X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Nov 2015 08:55:31 -0000 I sat down to try and think outside the boxes we are in... dropping: Dropping an 3+ packet TSO "superpacket" will cause a tcp reset - would split and drop be possible/useful? backports as far back as 3.2 seem to be needed. - breaking out all the compatability cruft to a separate file would be good codel5.h - I've longed to clean this up to make the state machine more clear and to fit in 80 columns for years now - we also still use 64 bit time - which I'd intended for the never started cake_drop monitor and also - because 32 bit wraparound gave me a headache. - some notes in the file about differences from this and published codel would be good - can't we use the skb->timestamp nowadays rather than the control block? hashing on the mac address seems to be possible in the new dissect api? How? mpls? What proof do we have that 8 way set associative hash is efficient? Would 4 way be OK? How correct is the dynamic quantum scaling? What is an optimal trade-off between the total number of flows, the size of the hash, and bandwidth? At 1GigE? 10GigE and higher? Autosizing the memory limit is good only when bandwidth is specified. Does a bandwidth 100mbit exactly =3D ethernet at 100Mbit? Is it better than= BQL? Should we be able to increase or decrease the number of flows in the API? Is there a way to get away from act_mirred for inbound shaping and stick cake in there directly? How low can we cut the interval to in a DC scenario? VPNs vs the Tin system? Dave T=C3=A4ht Let's go make home routers and wifi faster! With better software! https://www.gofundme.com/savewifi