From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.toke.dk (mail.toke.dk [52.28.52.200]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 9F5B03B2A4 for ; Sat, 5 Jan 2019 08:36:07 -0500 (EST) From: Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=toke.dk; s=20161023; t=1546695336; bh=sqq8DjjEzQhHTD2QWZdrFCIagxeHh4Kxx1tej5cirRE=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=uzSJ4QzE3stJ2R0sHtLCDHtPRPZvb6sX0GbdurV9BNTUBn9LlmlyGbkaNfwNi4sgf 18ZfNZMbE2Xu6TD7VPSGGcV0pO5v8HCBC8W2GEGFJKuvo4Xfj/3H6dK0gb5lXeyExm O4LqTm55FJbBAnMLq8QcziRMN/Xf+BZKR9sBy/ewk37PfXOP0BxGZO0DxPmlat4SgV ra6M7ikfdV8AGykondd0GrkGKPEGK/KugpGv+jX4GWHb/gY0A/ZTr61A9FC5SStFvV ioDkH8HL9Tb5eOXw9pycAXDZs7EFC075SytSb7nfaNxpmRbsouTKAcL0gbzmA9L9w5 Nsme9f5KbtJtw== To: Pete Heist Cc: Cake List In-Reply-To: <45D43135-318B-48AD-B09B-69BBB034CE12@heistp.net> References: <5482A3CA-9C36-4DDE-A858-24D8467F70C7@heistp.net> <8736q8yumt.fsf@toke.dk> <4C422792-7E51-4DBA-A229-FA7D3F987FB6@heistp.net> <87zhsgxdao.fsf@toke.dk> <87wonjxvss.fsf@toke.dk> <0077CC34-490F-4D76-82D3-BE37B27F2E1C@heistp.net> <49A6DCF8-BE98-47F4-9C66-6B4288390A58@heistp.net> <87tvinxos7.fsf@toke.dk> <87r2drxnal.fsf@toke.dk> <45D43135-318B-48AD-B09B-69BBB034CE12@heistp.net> Date: Sat, 05 Jan 2019 14:35:32 +0100 X-Clacks-Overhead: GNU Terry Pratchett Message-ID: <87o98vxm57.fsf@toke.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Cake] cake infinite loop(?) with hfsc on one-armed router 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: Sat, 05 Jan 2019 13:36:07 -0000 Pete Heist writes: >> On Jan 5, 2019, at 2:10 PM, Toke H=C3=B8iland-J=C3=B8rgensen wrote: >>=20 >> Hmm, that's odd. Could you try adding this debugging line in >> adjust_parent_qlen(), right before the sch->q.qlen +=3D n line: >>=20 >> net_info_ratelimited("Adjusting parent qdisc %d with pkt +=3D %d, len = +=3D %d", >> parentid, n, len); >>=20 >> And see if you actually get any of those lines in your dmesg? > > > I do see the messages twice, then not after that in the rest of the > output... Right. Looking at the HFSC code some more, I think the bug is actually caused by another, but related, interaction between HFSC and CAKE. Specifically, this line: https://elixir.bootlin.com/linux/v3.16.7/source/net/sched/sch_hfsc.c#L1605 where HFSC checks whether the child queue len is 1, which it interprets as the event that activates that queue. However, because CAKE splits the packet, this check will fail, and the HFSC class will not be activated. This also explains why you only see the bug with HFSC, and not with HTB (although I do think that we still need to update the hierarchy). The good news it that it is a fairly simple to fix in HFSC. The bad news is that it's something that's hard to work around from the out-of-tree CAKE... -Toke