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 817A13B29E for ; Sat, 5 Jan 2019 11:32:16 -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=1546705934; bh=hA46D48uccqgt4qQwInLnLEl3K2YSj5Gy06QXLHcUng=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=bhUH7eNnU2Ch1XFkFI0MLYdkTR1Yj9K+eFc8BAwwmgHZnRDTe1yGje2c/HHEiigHt HQH6MwmBU7vC5HILrXpOIL2qVA9L3yx/ybikW77hSAbQQ0d/d8NJc41pyG51Nj9sq4 VIYsp4xWChbRuDWGThtTJney6lBORYtadFb7trr4VCyVpQSnn7VZZxOqfAq3dy0Dxg fraW+oeb9BsfinRCsyicnm44FIt0R2Q/zptpIuSGrVPoM+QwCIJKswr6dAbO7kKgyX 89eWfzSEXQ02Ky7sLACC9OZPOvKkw805jAlbVtxt8UmZLNJ5pp4KAffVHB/YQJiCM4 IYf/LXphz3jfA== To: Pete Heist Cc: Cake List In-Reply-To: <797FCC60-0048-4EF6-80BC-19707E9173FB@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> <87o98vxm57.fsf@toke.dk> <797FCC60-0048-4EF6-80BC-19707E9173FB@heistp.net> Date: Sat, 05 Jan 2019 17:32:12 +0100 X-Clacks-Overhead: GNU Terry Pratchett Message-ID: <87lg3zxdyr.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 16:32:16 -0000 Pete Heist writes: >> On Jan 5, 2019, at 2:35 PM, Toke H=C3=B8iland-J=C3=B8rgensen wrote: >>=20 >> Pete Heist writes: >>=20 >>>> 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, le= n +=3D %d", >>>> parentid, n, len); >>>>=20 >>>> And see if you actually get any of those lines in your dmesg? >>>=20 >>> I do see the messages twice, then not after that in the rest of the >>> output... >>=20 >> Right. Looking at the HFSC code some more, I think the bug is actually >> caused by another, but related, interaction between HFSC and CAKE. >>=20 >> Specifically, this line: >>=20 >> https://elixir.bootlin.com/linux/v3.16.7/source/net/sched/sch_hfsc.c#L16= 05 >>=20 >> 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). >>=20 >> 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... > > Aha, well, I wonder if we=E2=80=99ll see this problem with other qdiscs- = maybe > cbq, if I ever get a chance to try it (not hurrying yet). Ideally this > interaction between qdiscs would be clarified somewhere, at some > point. :) > > Thanks a lot for doing the discovery though! You're welcome, and thanks for you help :) > We may not have hfsc+cake with GSO splitting on older kernels very > soon, but what should we do with this? There=E2=80=99s nobody in MAINTAIN= ERS > for hfsc, so we may not get much of a response to any bug > submissions... $ ./scripts/get_maintainer.pl net/sched/sch_hfsc.c=20 Jamal Hadi Salim (maintainer:TC subsystem) Cong Wang (maintainer:TC subsystem) Jiri Pirko (maintainer:TC subsystem) "David S. Miller" (maintainer:NETWORKING [GENERAL]) netdev@vger.kernel.org (open list:TC subsystem) I'll submit a patch sometime next week, and also look into the qlen adjustment for CAKE GSO splitting... -Toke