From: Pete Heist <pete@heistp.net>
To: "Toke Høiland-Jørgensen" <toke@toke.dk>
Cc: Cake List <cake@lists.bufferbloat.net>
Subject: Re: [Cake] cake infinite loop(?) with hfsc on one-armed router
Date: Fri, 4 Jan 2019 23:10:07 +0100 [thread overview]
Message-ID: <4C422792-7E51-4DBA-A229-FA7D3F987FB6@heistp.net> (raw)
In-Reply-To: <8736q8yumt.fsf@toke.dk>
> On Jan 4, 2019, at 10:34 PM, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
>
> Pete Heist <pete@heistp.net> writes:
>
>> Ok, the lockup goes away if you use no-split-gso on the cake qdiscs for the default traffic (noted below in the drr and hfsc cases with "!!! must use no-split-gso here !!!"). Only I’d like my 600 μs back. :)
>>
>> This smells of a bug Toke fixed on Sep 12, 2018 in 42e87f12ea5c390bf5eeb658c942bc810046160a, but then reverted in the next commit because it was fixed upstream. However, if I re-apply that commit, it still doesn’t fix it.
>>
>> Perhaps there are more cases where skb_reset_mac_len(skb) needs to be called somewhere for VLAN support?
>>
>> I managed to capture some output from what happens to hfsc:
>>
>> [ 683.864456] ------------[ cut here ]------------
>> [ 683.869116] WARNING: CPU: 1 PID: 11 at net/sched/sch_hfsc.c:1427
>> 0xf9ced4ef()
>
> So this seems to be this line:
>
> WARN_ON(next_time == 0);
>
> See https://elixir.bootlin.com/linux/v3.16.7/source/net/sched/sch_hfsc.c#L1427
>
> Which seems to indicate that HFSC can't find the next class to schedule.
> Not entirely sure why, nor why this only happens with CAKE as a qdisc.
> But I don't think it's actually an infinite loop that's causing it...
Ok, fwiw one doesn’t actually need a one-armed router or VLANs to reproduce this. Just do this:
tc qdisc add dev $IFACE root handle 1: hfsc default 1
tc class add dev $IFACE parent 1: classid 1:1 hfsc ls rate $RATE ul rate $RATE
tc qdisc add dev $IFACE parent 1:1 cake # add split-gso here, or else…
I’ve tried it as far as 4.9.0-8, but no farther. It’s not much of a priority for me now that I have a workaround for it...
Pete
next prev parent reply other threads:[~2019-01-04 22:10 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-27 23:30 Pete Heist
2018-12-28 12:58 ` Pete Heist
2018-12-28 21:22 ` Pete Heist
2018-12-28 22:07 ` Jonathan Morton
2018-12-28 22:42 ` Pete Heist
2019-01-04 21:34 ` Toke Høiland-Jørgensen
2019-01-04 22:10 ` Pete Heist [this message]
2019-01-04 22:12 ` Pete Heist
2019-01-04 22:34 ` Toke Høiland-Jørgensen
2019-01-05 5:58 ` Pete Heist
2019-01-05 10:06 ` Toke Høiland-Jørgensen
2019-01-05 10:59 ` Pete Heist
2019-01-05 11:06 ` Pete Heist
2019-01-05 11:18 ` Toke Høiland-Jørgensen
2019-01-05 11:26 ` Pete Heist
2019-01-05 11:35 ` Pete Heist
2019-01-05 12:38 ` Toke Høiland-Jørgensen
2019-01-05 12:51 ` Pete Heist
2019-01-05 13:10 ` Toke Høiland-Jørgensen
2019-01-05 13:20 ` Pete Heist
2019-01-05 13:35 ` Toke Høiland-Jørgensen
2019-01-05 15:34 ` Pete Heist
2019-01-05 15:52 ` Jonathan Morton
2019-01-05 16:32 ` Toke Høiland-Jørgensen
2019-01-05 19:27 ` Sebastian Moeller
2019-01-05 20:01 ` Pete Heist
2019-01-05 20:10 ` Toke Høiland-Jørgensen
2019-01-05 20:31 ` Pete Heist
2019-01-05 22:27 ` Toke Høiland-Jørgensen
2019-01-05 22:41 ` Pete Heist
2019-01-06 9:37 ` Pete Heist
2019-01-06 20:56 ` Toke Høiland-Jørgensen
2019-01-07 0:30 ` Pete Heist
2019-01-07 2:11 ` Dave Taht
2019-01-07 11:30 ` Toke Høiland-Jørgensen
2019-01-07 15:07 ` Pete Heist
2019-01-08 20:03 ` Pete Heist
2019-01-08 20:44 ` Dave Taht
2019-01-08 22:01 ` Pete Heist
2019-01-08 22:33 ` Dave Taht
2019-01-09 6:13 ` Pete Heist
2019-01-08 22:27 ` Toke Høiland-Jørgensen
2019-01-09 5:29 ` Pete Heist
2019-01-09 8:36 ` Toke Høiland-Jørgensen
2019-01-06 20:55 ` Toke Høiland-Jørgensen
2019-01-05 10:44 ` Jonathan Morton
2019-01-05 11:17 ` Toke Høiland-Jørgensen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C422792-7E51-4DBA-A229-FA7D3F987FB6@heistp.net \
--to=pete@heistp.net \
--cc=cake@lists.bufferbloat.net \
--cc=toke@toke.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox