From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from emea01-am1-obe.outbound.protection.outlook.com (mail-am1on0059.outbound.protection.outlook.com [157.56.112.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id C34F53B2C0 for ; Tue, 7 Jun 2016 11:05:53 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=darbyshire-bryant.me.uk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=m+CdfHY7HP/8uXdeqk0GH0bh/HKFYMQ5KbeUBk99MqY=; b=WJNrxz08DT4+hOEaQq4J1ZHrlQZOqgd8bCcqVjmIu58z8NfS3L0I5ctpkXXoWaUbYfy7wzeMuXC5KEKiA7QkkoMJJE16xq3sXsgbtQrpXHedY8T+X5uuQkR7PflV3bGJ8ISGXY3TksWjt5vQS/yCACF0gEOMlrpMcYf+72xZN6k= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kevin@darbyshire-bryant.me.uk; Received: from [IPv6:2001:470:183f:da2b::4007:25d] (2001:470:183f:da2b::4007:25d) by AM2PR07MB0929.eurprd07.prod.outlook.com (10.162.37.12) with Microsoft SMTP Server (TLS) id 15.1.511.8; Tue, 7 Jun 2016 15:05:50 +0000 To: Jonathan Morton References: <5756ADEC.9070305@darbyshire-bryant.me.uk> <8EE35B4F-5C28-41C7-8795-93A6F606B3A8@gmail.com> CC: From: Kevin Darbyshire-Bryant Message-ID: <5756E2CA.2020700@darbyshire-bryant.me.uk> Date: Tue, 7 Jun 2016 16:05:46 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <8EE35B4F-5C28-41C7-8795-93A6F606B3A8@gmail.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [2001:470:183f:da2b::4007:25d] X-ClientProxiedBy: HE1PR0701CA0023.eurprd07.prod.outlook.com (10.165.214.161) To AM2PR07MB0929.eurprd07.prod.outlook.com (10.162.37.12) X-MS-Office365-Filtering-Correlation-Id: 12288753-5ded-4d69-e515-08d38ee536d3 X-Microsoft-Exchange-Diagnostics: 1; AM2PR07MB0929; 2:dHcl/tzoxIfGNA6ZC5cJAKo9jMB8O2B5CEcz/Wtm+2fq4sOPaOObfwo15Ce2FWffIxfr4GgP0vJ6R7fz9ZuSx0u/8EwrGHsiyFnaNfKQMRp02ng1ZRH8zR/1+WYIFc95Z3aab0KTLWCqqDz30k0JYvUDE1EvwmpBczj56t5iE71Z70aQCc+73nfJeXzIDYMV; 3:edpaw/1W+c7gLyvOMJmslkxawWM5Tzx5Gst2z6UwanIdLoe0XL93VsZAeXtQA/llIKtv3E1WR2OOEv7ZdtZB7UdFxnx8N9a1hNQC+1bbySHyQ1E969Xta/LBbXvhJmFv X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM2PR07MB0929; X-Microsoft-Exchange-Diagnostics: 1; AM2PR07MB0929; 25:4E4LlBF6DmoMJCEtgmHrZ2+fIOehFzeOKv/jKtS1byYFwQteF0aQbt5tMQRv3idPDaArRUvwFcrVoF0UzJ/kUZRRrRFnY6d8cakKsSKjlBliGqgDLN1W4FXdhdgA9I2zDAo0GSJlNz7zAsZeqvYuvt3eW/CnmbNNeAX2IbeE42C8WfzWS8phWPIAwD9sa3U34wIl5RauHxn+ILpB4+ecjsAhFBGmqHZgbz8KVCmda5i96dMmtbHwN/VEt64ogDD8E+9YvCEcC7P2NSxw8WNUKnyrVoQoCBiNau1QtVobNnSTyGclRzGAzzh11dmX+p0h54sVk7LZJhPq2XRhVskhAm+fbKdCKpJntXqkjGqrkuBqP0buCnrzyucOw25gIRWehsjLnK3MyhipfT1eCsF57Wak98M7cvlAkWGjKuHTGWvLC+0lkAfLjT3IAm3BYa/La7TjRE5dV/rdeC5qobCBkKyI+/ZJh19dNrc3V6DvEh5e+THSpWOkJoE9OC/dnLI5yrchefE9fB7l1/gtrFT8XGb4XKsy7LQ+D8RjgUnfxn5oKj6DfkyfCXv/dKr9nP6tKMYsecxuBZGNsadnxAYNqYAwTGGfWWVcQRDXTrkA1zs1R9VMkSY1fHDC+4hml0IMYfvFPf7lnwrTaAMiqUvz5Wx2uW1yDFNs2oWb8ZRg7Ap5tF5Bv+G7L6BQeMoL6H+29jH7tbrxsJ3yyDZiggvCUQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(20558992708506); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040130)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041072)(6043046); SRVR:AM2PR07MB0929; BCL:0; PCL:0; RULEID:; SRVR:AM2PR07MB0929; X-Microsoft-Exchange-Diagnostics: 1; AM2PR07MB0929; 4:dCfNu+w047g+PSglm+pmrux3wKZePOLA/adq6UHRtC2iqBRcTcMDvQMQ80ONKTzSrQC0rEajL3cz/Daklcp7vpWl0wdpSSXCfNaGQw6tuzP+z2jvOyTzligCEZDpQi0gjALiVge2eEQeoOXD9i2l0eBqUZelp5jPwkBjl96i53nmZsFwJ1SXGF8o7k0qGNINeY7XTLjlFg+7Y+WtIkTQzLz5txJopfFc1Vf8jCjxokEdhx4SSJMN30mMktbpGEI/T3nZy5TI9QoFT1mcpHo8gZeMzALvaQyUk8OtfEGRNeWtD3KalDwR0q2cPJzDRIdOvSyd/2LCDKlOcEELR/FUixVuNBfnHCm7zaR+ULvj8QTV/iWeC7cHv9624YQi20JhbK04Vph7Oq4zubSnGq1Hm4g/mD+E9BWAkBENaeUtZ+pmLSSbNrKbC8PCkaRFnzXZdgTpQKoUooiC+QYK1NFAqbSY3q1TTaj4Tf+IVVtm9Bs= X-Forefront-PRVS: 09669DB681 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(189002)(24454002)(199003)(1411001)(2950100001)(189998001)(230700001)(77096005)(101416001)(23746002)(42186005)(81166006)(4001350100001)(97736004)(86362001)(15650500001)(81156014)(50466002)(2906002)(8676002)(5004730100002)(36756003)(80316001)(19580395003)(110136002)(68736007)(19580405001)(92566002)(64126003)(74482002)(4326007)(105586002)(1706002)(106356001)(59896002)(65806001)(47776003)(5008740100001)(83506001)(65816999)(65956001)(586003)(54356999)(76176999)(50986999)(87266999)(6116002)(33656002)(3826002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM2PR07MB0929; H:[IPv6:2001:470:183f:da2b::4007:25d]; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: darbyshire-bryant.me.uk does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; AM2PR07MB0929; 23:wNioH7t19yMQJxPNqRZqDOmK9TX9Wn9IqXd6k?= =?Windows-1252?Q?vo8SG6ndWjKxySt2+4gSV6lD3w/V0zEimZK79Tq0ePneBP03n9P3OhJ7?= =?Windows-1252?Q?rPnKbjKJs+x3Ysi/V03w/bMweOYawqEAXST7DccHj9fWVjPl3OUYfdH9?= =?Windows-1252?Q?Y9RyyCzdBqqpXbDNIx45/oxYVtY3K2upjYq9mIwKczklfGY+q+KKiErc?= =?Windows-1252?Q?5P0zYWO6IeKU6bvxePsuOD/KQwrojKxHD9YkplOwyeEF9JRHnYV4Vrst?= =?Windows-1252?Q?g1nCcM9YZJ58jpV1mbrl1xW3wwyei1QxzbSYa+hnbii1YTwfULY9FW6H?= =?Windows-1252?Q?wOtuo+PJ7r4qp6ImjcNJMaHUKEUD1239aDsPVaT7AR+zztJzEBKqy25Y?= =?Windows-1252?Q?29ISux3DpLuxXrlda4SilnkTb6F2QGP/3CXX57rReNqBYBg9JvNS5pxg?= =?Windows-1252?Q?L5uo7IYaZil/h1BW2/dmUsElAwrNwjH9bcrDBKbUDJ6wBwKbqvE9Jvj/?= =?Windows-1252?Q?X+wHS56UNCC3DMXmbVkwsIrzg9HQMzz6wpbVCEzVn7A1bFvaFRvQHdZq?= =?Windows-1252?Q?dKZhRaBVA8rZ7j5qxrQqRKdcjoVfePzSrfHWu6n86q4GiRuKnrmAZAEM?= =?Windows-1252?Q?T7FA/+EI5bLvx9HdtMiA+YMsK88Vd8ElGvIFcC0DjqFuBxilL2KBwlXC?= =?Windows-1252?Q?bMK4SNjWCyrXAiEKX2W/31Twq2vfJcR+oPv4l4qQIY80AoNDx4eMvdEq?= =?Windows-1252?Q?+/c1LucPv/2VoP2VDDgvophc1AfwOIZ6W/kiUnhlWGneJCpF0LNt+Edp?= =?Windows-1252?Q?+GTsE8q5oOauhqud4DQw5R/fzqq+05NooVhw4+RApwdtslPQhxyh8fHv?= =?Windows-1252?Q?AiMvQkQZYz/42XRiE4oDP/yKjT3xW/WPHZAotFUuvVpAWFzftp0y/6FF?= =?Windows-1252?Q?76Dt9j6hF9g5Dm2oqVq/S1jViuJwo80Hara+XNB4vclKorx5sYXQm7Kk?= =?Windows-1252?Q?ewP9c+yQDCsF//Nsefzyc+DaRUJD2ADScwq8C2XZWtf4Qq+Lb14ekA2E?= =?Windows-1252?Q?Ii0BM0Fb2lNrdiOPZnZHmnt4germvtaO5FJipa9Nvo2PougjIxx5RPmz?= =?Windows-1252?Q?35WfX/T1WRwv1dPbQDeXrpG66ReMg3zLAeITUdETgtmH/uFobxVkQP01?= =?Windows-1252?Q?0fLEOzr1KOo2Zn7JT/OhlzwsfjjQvxef2Ur/hR94FMXhKE0M/9068jKn?= =?Windows-1252?Q?jECYjMpYmYGUSfJ/L1CNGffj5LE9vq/RYggznLg95KFB57n1oltnEIWX?= =?Windows-1252?Q?QoH9DXJpWPEa9Z0UkOSnh8RgfYFEFNudHSF2YeqbXU8knewYDmcr+xTL?= =?Windows-1252?Q?uOj7aKG1RIKI5PH82gJqRC+K3WQyFezrg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM2PR07MB0929; 5:yCemIr9kpW224wY39O7DEdAYj/PpVsTqqxgz6vuzna5EwLpW0lkxdSbCwR6pSPaCZYHaK3X1yx9yrxl7IfWaPv3Ulo8pMCNYwj3TKl+Q2vGobxIs9RmyJZVPpQ5yxUtOrfslNNoLd0QpeDoXaof4Xg==; 24:zLVHY2VwQKuT87z9gjt4w03kwUwut3bmd6E2flOEtMIt06W5DuqPQdH5Dr8aUWt++/ylmQVJRaUVlyKRwAFgeYuCXoYV9nLfP/0T8hGmrsc=; 7:GHrq6QLchp8f5GZkkKyPbag61p6KGDj6zzFCp35z6QkvhFUi3ScK4ZGa3n5T/a4RlMXXmRBPgKsJ+o0NlC45KF44pm2lpRWXAtbjKyH4OKFSe8HA31rj4BO5kcIdjjHEPc/FY9PXWabxz/SiCdYd2LzBmdZUl9Q0OKY6mDQXl2RggUci5xghxqd9v42nxuamfdrkHjcnb2gpSJoLR+hy++GWyK4xb+5mtekc4wgjAsw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: darbyshire-bryant.me.uk X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jun 2016 15:05:50.4758 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM2PR07MB0929 Subject: Re: [Cake] Possible BUG - parent backlog incorrectly updated in case of NET_XMIT_CN X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jun 2016 15:05:54 -0000 On 07/06/16 15:50, Jonathan Morton wrote: >> On 7 Jun, 2016, at 14:20, Kevin Darbyshire-Bryant wrote: >> >> I had a nose at CAKE but couldn't quit work out if a similar issue is present but I suspect it is. Certainly if Eric can't get it right "My prior attempt to fix the backlogs of parents failed." then it's not an 'obvious to solve' problem :-) > It appears my code already handles it correctly. This is most likely because it inherited the analogous handling from the old function called here. I was intrigued by how in the case of XMIT_CN he reports the backlog without the packet just dropped 'cos the parent qdisc won't include that length in its calculations because we reported we dropped the packet. Preventing double accounting. + /* As we dropped packet(s), better let upper stack know this. + * If we dropped a packet for this flow, return NET_XMIT_CN, + * but in this case, our parents wont increase their backlogs. + */ + prev_qlen -= sch->q.qlen; + prev_backlog -= sch->qstats.backlog; + if (ret == idx) { + qdisc_tree_reduce_backlog(sch, prev_qlen - 1, + prev_backlog - qdisc_pkt_len(skb)); <<<buffer_used; while (q->buffer_used > q->buffer_limit) { dropped++; if (cake_drop(sch) == idx + (tin << 16)) same_flow = 1; } b->drop_overlimit += dropped; qdisc_tree_reduce_backlog(sch, dropped - same_flow, old_backlog - q->buffer_used); return same_flow ? NET_XMIT_CN : NET_XMIT_SUCCESS; It looks to me that we always report what was dropped in terms of length irrespective of whether it was from the same flow. The number of packets *does* change, correctly. > > - Jonathan Morton >