Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
From: Fred Stratton <fredstratton@imap.cc>
To: Fred Stratton <fredstratton@ydl.net>,
	cerowrt-devel@lists.bufferbloat.net
Subject: Re: [Cerowrt-devel] Fwd: Re: CeroWrt 3.10.24-8 badly bloated?
Date: Sat, 28 Dec 2013 10:33:11 +0000	[thread overview]
Message-ID: <52BEA8E7.8040403@imap.cc> (raw)
In-Reply-To: <52BE4984.70702@ydl.net>

[-- Attachment #1: Type: text/plain, Size: 16231 bytes --]

nfq_codel with 25ms egress latency is proving the most effective 
combination so far.


On 28/12/13 03:46, Fred Stratton wrote:
>
> On 28/12/13 03:45, Fred Stratton wrote:
>> fq_codel, with the specified target, shows great promise. fq_codel 
>> used to be much worse, in that it was not possible to download files, 
>> say an iso of ubuntu 13.10, and watch streaming flash video. This now 
>> works. I shall also try nfq_codel with the 25ms egress target,
>>
>>
>> On 28/12/13 01:14, Dave Taht wrote:
>>>
>>> I note that nfq codel (which is closer to sfq in outlook than fq 
>>> codel (more like drr)) might be better in fred's case. But I'd hope 
>>> for his bandwidth and workload (mostly movies) the larger target 
>>> will compensate for the problems he'd had. But I don't know so...
>>>
>>> In the interest of science...
>>>
>>> I would certainly like a few days subjective non benchmark testing 
>>> vs a vs pie from more people. Certainly I can "feel" a difference of 
>>> fq codel vs pie.  (Either are massively better than current cable 
>>> modems) videoconferencing, telephony, movies, games, web browsing...
>>>
>>> Anybody else willing to spend a week on pie? It is what is mandated 
>>> to be in docsis 3.1 (probably with a 10ms target)
>>>
>>> On Dec 27, 2013 4:07 PM, "Sebastian Moeller" <moeller0@gmx.de 
>>> <mailto:moeller0@gmx.de>> wrote:
>>>
>>>     Hi Fred,
>>>
>>>
>>>     On Dec 27, 2013, at 21:20 , Fred Stratton <fredstratton@imap.cc>
>>>     wrote:
>>>
>>>     > I guessed input into Dangerous options was required, but was
>>>     unsure of the syntax.  Quite how /etc/config/sqm is read is
>>>     another matter to be addressed over ssh.
>>>     >
>>>     > I shall paste all in one email response, for you to rearrange
>>>     at the other end. Both use simple.qos.
>>>     >
>>>     > With pie:
>>>     >
>>>     > tc -d qdisc
>>>     > qdisc fq_codel a: dev se00 root refcnt 2 limit 1000p flows
>>>     1024 quantum 1000 target 5.0ms interval 100.0ms ecn
>>>     > qdisc htb 1: dev ge00 root refcnt 2 r2q 10 default 12
>>>     direct_packets_stat 6 ver 3.17
>>>     >  linklayer atm overhead 18 mtu 2047 tsize 128
>>>     > qdisc pie 110: dev ge00 parent 1:11 limit 1000p target 25000
>>>     tupdate 30000 alpha 2 beta 20
>>>     > qdisc pie 120: dev ge00 parent 1:12 limit 1000p target 25000
>>>     tupdate 30000 alpha 2 beta 20
>>>     > qdisc pie 130: dev ge00 parent 1:13 limit 1000p target 25000
>>>     tupdate 30000 alpha 2 beta 20
>>>     > qdisc ingress ffff: dev ge00 parent ffff:fff1 ----------------
>>>     > qdisc htb 1: dev ifb0 root refcnt 2 r2q 10 default 12
>>>     direct_packets_stat 0 ver 3.17
>>>     >  linklayer atm overhead 18 mtu 2047 tsize 128
>>>     > qdisc pie 110: dev ifb0 parent 1:11 limit 1000p target 20000
>>>     tupdate 30000 alpha 2 beta 20 ecn
>>>     > qdisc pie 120: dev ifb0 parent 1:12 limit 1000p target 20000
>>>     tupdate 30000 alpha 2 beta 20 ecn
>>>     > qdisc pie 130: dev ifb0 parent 1:13 limit 1000p target 20000
>>>     tupdate 30000 alpha 2 beta 20 ecn
>>>     > qdisc mq 1: dev sw10 root
>>>     > qdisc fq_codel 10: dev sw10 parent 1:1 limit 800p flows 1024
>>>     quantum 500 target 10.0ms interval 100.0ms
>>>     > qdisc fq_codel 20: dev sw10 parent 1:2 limit 800p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 30: dev sw10 parent 1:3 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 40: dev sw10 parent 1:4 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms
>>>     > qdisc mq 1: dev sw00 root
>>>     > qdisc fq_codel 10: dev sw00 parent 1:1 limit 800p flows 1024
>>>     quantum 500 target 10.0ms interval 100.0ms
>>>     > qdisc fq_codel 20: dev sw00 parent 1:2 limit 800p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 30: dev sw00 parent 1:3 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 40: dev sw00 parent 1:4 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms
>>>     > qdisc mq 1: dev gw00 root
>>>     > qdisc fq_codel 10: dev gw00 parent 1:1 limit 800p flows 1024
>>>     quantum 500 target 10.0ms interval 100.0ms
>>>     > qdisc fq_codel 20: dev gw00 parent 1:2 limit 800p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 30: dev gw00 parent 1:3 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 40: dev gw00 parent 1:4 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms
>>>     > qdisc mq 1: dev gw10 root
>>>     > qdisc fq_codel 10: dev gw10 parent 1:1 limit 800p flows 1024
>>>     quantum 500 target 10.0ms interval 100.0ms
>>>     > qdisc fq_codel 20: dev gw10 parent 1:2 limit 800p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 30: dev gw10 parent 1:3 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 40: dev gw10 parent 1:4 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms
>>>     > qdisc fq_codel a: dev pppoe-ge00 root refcnt 2 limit 1000p
>>>     flows 1024 quantum 1000 target 5.0ms interval 100.0ms ecn
>>>     >
>>>     >
>>>     > tc class show dev ge00
>>>     > class htb 1:11 parent 1:1 leaf 110: prio 1 rate 128000bit ceil
>>>     316000bit burst 1600b cburst 1599b
>>>     > class htb 1:1 root rate 950000bit ceil 950000bit burst 1599b
>>>     cburst 1599b
>>>     > class htb 1:10 parent 1:1 prio 0 rate 950000bit ceil 950000bit
>>>     burst 1599b cburst 1599b
>>>     > class htb 1:13 parent 1:1 leaf 130: prio 3 rate 158000bit ceil
>>>     934000bit burst 1599b cburst 1599b
>>>     > class htb 1:12 parent 1:1 leaf 120: prio 2 rate 158000bit ceil
>>>     934000bit burst 1599b cburst 1599b
>>>     >
>>>     > with fq_codel, and 25ms target:
>>>     >
>>>     > tc -d qdisc
>>>     > qdisc fq_codel a: dev se00 root refcnt 2 limit 1000p flows
>>>     1024 quantum 1000 target 5.0ms interval 100.0ms ecn
>>>     > qdisc htb 1: dev ge00 root refcnt 2 r2q 10 default 12
>>>     direct_packets_stat 9 ver 3.17
>>>     >  linklayer atm overhead 18 mtu 2047 tsize 128
>>>     > qdisc fq_codel 110: dev ge00 parent 1:11 limit 1000p flows
>>>     1024 quantum 300 target 25.0ms interval 100.0ms
>>>     > qdisc fq_codel 120: dev ge00 parent 1:12 limit 1000p flows
>>>     1024 quantum 300 target 25.0ms interval 100.0ms
>>>     > qdisc fq_codel 130: dev ge00 parent 1:13 limit 1000p flows
>>>     1024 quantum 300 target 25.0ms interval 100.0ms
>>>
>>>             Great, so this worked okay, all three fq_codels on ge00
>>>     (egress) have an interval of 25ms, just as the Doctor (aka,
>>>     Dave) ordered :). Does this help to get fq_codel subjectively
>>>     judged performance to be equal to pie?
>>>
>>>     Best
>>>             Sebastian
>>>
>>>
>>>
>>>     > qdisc ingress ffff: dev ge00 parent ffff:fff1 ----------------
>>>     > qdisc htb 1: dev ifb0 root refcnt 2 r2q 10 default 12
>>>     direct_packets_stat 0 ver 3.17
>>>     >  linklayer atm overhead 18 mtu 2047 tsize 128
>>>     > qdisc fq_codel 110: dev ifb0 parent 1:11 limit 1000p flows
>>>     1024 quantum 500 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 120: dev ifb0 parent 1:12 limit 1000p flows
>>>     1024 quantum 1500 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 130: dev ifb0 parent 1:13 limit 1000p flows
>>>     1024 quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc mq 1: dev sw00 root
>>>     > qdisc fq_codel 10: dev sw00 parent 1:1 limit 800p flows 1024
>>>     quantum 500 target 10.0ms interval 100.0ms
>>>     > qdisc fq_codel 20: dev sw00 parent 1:2 limit 800p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 30: dev sw00 parent 1:3 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 40: dev sw00 parent 1:4 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms
>>>     > qdisc mq 1: dev sw10 root
>>>     > qdisc fq_codel 10: dev sw10 parent 1:1 limit 800p flows 1024
>>>     quantum 500 target 10.0ms interval 100.0ms
>>>     > qdisc fq_codel 20: dev sw10 parent 1:2 limit 800p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 30: dev sw10 parent 1:3 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 40: dev sw10 parent 1:4 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms
>>>     > qdisc mq 1: dev gw00 root
>>>     > qdisc fq_codel 10: dev gw00 parent 1:1 limit 800p flows 1024
>>>     quantum 500 target 10.0ms interval 100.0ms
>>>     > qdisc fq_codel 20: dev gw00 parent 1:2 limit 800p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 30: dev gw00 parent 1:3 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 40: dev gw00 parent 1:4 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms
>>>     > qdisc mq 1: dev gw10 root
>>>     > qdisc fq_codel 10: dev gw10 parent 1:1 limit 800p flows 1024
>>>     quantum 500 target 10.0ms interval 100.0ms
>>>     > qdisc fq_codel 20: dev gw10 parent 1:2 limit 800p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 30: dev gw10 parent 1:3 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms ecn
>>>     > qdisc fq_codel 40: dev gw10 parent 1:4 limit 1000p flows 1024
>>>     quantum 300 target 5.0ms interval 100.0ms
>>>     > qdisc fq_codel a: dev pppoe-ge00 root refcnt 2 limit 1000p
>>>     flows 1024 quantum 1000 target 5.0ms interval 100.0ms ecn
>>>     >
>>>     >
>>>     > tc class show dev ge00
>>>     > class htb 1:11 parent 1:1 leaf 110: prio 1 rate 128000bit ceil
>>>     316000bit burst 1600b cburst 1599b
>>>     > class htb 1:1 root rate 950000bit ceil 950000bit burst 1599b
>>>     cburst 1599b
>>>     > class htb 1:10 parent 1:1 prio 0 rate 950000bit ceil 950000bit
>>>     burst 1599b cburst 1599b
>>>     > class htb 1:13 parent 1:1 leaf 130: prio 3 rate 158000bit ceil
>>>     934000bit burst 1599b cburst 1599b
>>>     > class htb 1:12 parent 1:1 leaf 120: prio 2 rate 158000bit ceil
>>>     934000bit burst 1599b cburst 1599b
>>>     > class fq_codel 110:2c9 parent 110:
>>>     > class fq_codel 120:1a5 parent 120:
>>>     > class fq_codel 120:31f parent 120:
>>>     >
>>>     >
>>>     >
>>>     > On 27/12/13 19:49, Dave Taht wrote:
>>>     >>
>>>     >> Pie has a default latency target of 20ms, fq codel 5ms. (But
>>>     the fq code target matters less as the target only applies to
>>>     queue building flows)
>>>     >>
>>>     >> A packet takes 13ms to transit the device at 1mbit.
>>>     >>
>>>     >> There is a change to fq codel in this release that should
>>>     make fiddling with target a low speeds less needed. (But might
>>>     have other problems) Still a comparison at roughly the same
>>>     target vs a vs pie in your environment would be very interesting.
>>>     >>
>>>     >> I suggested 25ms as a test (as pie never makes 20ms anyway)
>>>     >>
>>>     >> I came close to inserting a simple formula to start
>>>     increasing the target below 4mbit in this release.
>>>     >>
>>>     >> On Dec 27, 2013 11:25 AM, "Sebastian Moeller"
>>>     <moeller0@gmx.de <mailto:moeller0@gmx.de>> wrote:
>>>     >> >
>>>     >> > Hi Fred,
>>>     >> >
>>>     >> > you could try to put "target 25ms" without the quotes into
>>>     the advanced egress options field in the "Queue Discipline" tab,
>>>     that is exposed after checking "Show Dangerous Configuration". I
>>>     would love to hear whether that worked or not (I am not able to
>>>     test anything myself). Maybe posting the output of "tc -d qdisc"
>>>     and "tc class show dev ge00" would help. Good luck...
>>>     >> >
>>>     >> >
>>>     >> > Best Regards
>>>     >> >         Sebastian
>>>     >> >
>>>     >> >
>>>     >> > On Dec 27, 2013, at 20:20 , Fred Stratton
>>>     <fredstratton@imap.cc> wrote:
>>>     >> >
>>>     >> > > I have been using pie for approximately 3 weeks.
>>>     >> > >
>>>     >> > > You are correct, in that the outbound speed is about 800
>>>     - 900 kb/s.
>>>     >> > >
>>>     >> > > I shall try what you suggest, but do not know how to
>>>     express the target of 25 ms as a configuration option.
>>>     >> > >
>>>     >> > >
>>>     >> > > On 27/12/13 19:15, Dave Taht wrote:
>>>     >> > >> Dear fred: are you sticking with pie? I was going to
>>>     suggest you try fq codel with a target 25ms on your outbound.
>>>     (You are at 800kbit or so as best I recall?)
>>>     >> > >>
>>>     >> > >> On Dec 27, 2013 11:10 AM, "Fred Stratton"
>>>     <fredstratton@imap.cc> wrote:
>>>     >> > >> I upgraded to 3.10.24-8 on 2013-12-23.
>>>     >> > >>
>>>     >> > >> I modified /etc/fixdaemons, adding
>>>     >> > >> /etc/init.d/sqm restart
>>>     >> > >>
>>>     >> > >> input the appropriate sqm settings, transcribed from aqm
>>>     >> > >>
>>>     >> > >> rebooted
>>>     >> > >>
>>>     >> > >> and the build works very well. For ADSL2+ here, it is
>>>     the best so far.
>>>     >> > >>
>>>     >> > >>
>>>     >> > >> On 27/12/13 18:55, Dave Taht wrote:
>>>     >> > >>> A race condition appears to have crept in...
>>>     >> > >>>
>>>     >> > >>> ---------- Forwarded message ----------
>>>     >> > >>> From: "Dave Taht" <dave.taht@gmail.com
>>>     <mailto:dave.taht@gmail.com>>
>>>     >> > >>> Date: Dec 27, 2013 10:47 AM
>>>     >> > >>> Subject: Re: [Cerowrt-devel] CeroWrt 3.10.24-8 badly
>>>     bloated?
>>>     >> > >>> To: "Richard E. Brown" <richb.hanover@gmail.com
>>>     <mailto:richb.hanover@gmail.com>>
>>>     >> > >>> Cc:
>>>     >> > >>>
>>>     >> > >>> Probably didn't start sqm properly
>>>     >> > >>>
>>>     >> > >>> Restart it by hand via /etc/init.d/sqm restart
>>>     >> > >>>
>>>     >> > >>> tc -s qdisc show dev ge00
>>>     >> > >>>
>>>     >> > >>> Should show htb and fq codel.
>>>     >> > >>>
>>>     >> > >>> On Dec 27, 2013 10:36 AM, "Rich Brown"
>>>     <richb.hanover@gmail.com <mailto:richb.hanover@gmail.com>> wrote:
>>>     >> > >>> So I screwed up my courage and replaced my 3.10.18-?
>>>     firmware in my primary router with 3.10.24-8. That version had
>>>     worked well as a secondary, so I figured, What the heck... Let's
>>>     give it try.
>>>     >> > >>>
>>>     >> > >>> The result was not pretty. I set my link speeds in the
>>>     SQM page, chose the defaults for the Queue Discipline tab, and
>>>     link layer to ATM with no additional overhead for my DSL link.
>>>     >> > >>>
>>>     >> > >>> Ping times to google are normally ~51-54 msec. But when
>>>     I fired up speedtest.net <http://speedtest.net>, they jumped to
>>>     1500-2500 msec. Is there something I should look at before
>>>     reverting? Thanks.
>>>     >> > >>>
>>>     >> > >>> Rich
>>>     >> > >>> _______________________________________________
>>>     >> > >>> Cerowrt-devel mailing list
>>>     >> > >>> Cerowrt-devel@lists.bufferbloat.net
>>>     <mailto:Cerowrt-devel@lists.bufferbloat.net>
>>>     >> > >>> https://lists.bufferbloat.net/listinfo/cerowrt-devel
>>>     >> > >>>
>>>     >> > >>>
>>>     >> > >>> _______________________________________________
>>>     >> > >>> Cerowrt-devel mailing list
>>>     >> > >>>
>>>     >> > >>> Cerowrt-devel@lists.bufferbloat.net
>>>     <mailto:Cerowrt-devel@lists.bufferbloat.net>
>>>     >> > >>> https://lists.bufferbloat.net/listinfo/cerowrt-devel
>>>     >> > >>
>>>     >> > >
>>>     >> > > _______________________________________________
>>>     >> > > Cerowrt-devel mailing list
>>>     >> > > Cerowrt-devel@lists.bufferbloat.net
>>>     <mailto:Cerowrt-devel@lists.bufferbloat.net>
>>>     >> > > https://lists.bufferbloat.net/listinfo/cerowrt-devel
>>>     >> >
>>>     >
>>>
>>
>
>
>
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel


[-- Attachment #2: Type: text/html, Size: 23847 bytes --]

  reply	other threads:[~2013-12-28 10:33 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-27 18:36 [Cerowrt-devel] " Rich Brown
     [not found] ` <CAA93jw7oS-NsBVbzHHUyVKb=0yo-yX9h-j-okafvM2c=DBJwDA@mail.gmail.com>
2013-12-27 18:55   ` [Cerowrt-devel] Fwd: " Dave Taht
2013-12-27 19:10     ` Fred Stratton
2013-12-27 19:15       ` Dave Taht
2013-12-27 19:20         ` Fred Stratton
2013-12-27 19:25           ` Sebastian Moeller
2013-12-27 19:49             ` Dave Taht
2013-12-27 20:20               ` Fred Stratton
2013-12-28  0:07                 ` Sebastian Moeller
2013-12-28  1:14                   ` Dave Taht
     [not found]                     ` <52BE494E.7010904@imap.cc>
2013-12-28  3:46                       ` Fred Stratton
2013-12-28 10:33                         ` Fred Stratton [this message]
2013-12-27 20:41               ` Fred Stratton
2013-12-27 20:59   ` [Cerowrt-devel] CeroWrt 3.10.24-8 badly bloated?/Not anymore Rich Brown
2013-12-27 21:13     ` Fred Stratton
2013-12-27 21:14       ` Fred Stratton
2013-12-28  0:10     ` Sebastian Moeller

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/cerowrt-devel.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52BEA8E7.8040403@imap.cc \
    --to=fredstratton@imap.cc \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    --cc=fredstratton@ydl.net \
    /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