Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
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


  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