<p dir="ltr">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...</p>

<p dir="ltr">In the interest of science...</p>
<p dir="ltr">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...</p>

<p dir="ltr">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)<br>
</p>
<div class="gmail_quote">On Dec 27, 2013 4:07 PM, "Sebastian Moeller" <<a href="mailto:moeller0@gmx.de">moeller0@gmx.de</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Fred,<br>
<br>
<br>
On Dec 27, 2013, at 21:20 , Fred Stratton <fredstratton@imap.cc> wrote:<br>
<br>
> 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.<br>
><br>
> I shall paste all in one email response, for you to rearrange at the other end. Both use simple.qos.<br>
><br>
> With pie:<br>
><br>
> tc -d qdisc<br>
> qdisc fq_codel a: dev se00 root refcnt 2 limit 1000p flows 1024 quantum 1000 target 5.0ms interval 100.0ms ecn<br>
> qdisc htb 1: dev ge00 root refcnt 2 r2q 10 default 12 direct_packets_stat 6 ver 3.17<br>
>  linklayer atm overhead 18 mtu 2047 tsize 128<br>
> qdisc pie 110: dev ge00 parent 1:11 limit 1000p target 25000 tupdate 30000 alpha 2 beta 20<br>
> qdisc pie 120: dev ge00 parent 1:12 limit 1000p target 25000 tupdate 30000 alpha 2 beta 20<br>
> qdisc pie 130: dev ge00 parent 1:13 limit 1000p target 25000 tupdate 30000 alpha 2 beta 20<br>
> qdisc ingress ffff: dev ge00 parent ffff:fff1 ----------------<br>
> qdisc htb 1: dev ifb0 root refcnt 2 r2q 10 default 12 direct_packets_stat 0 ver 3.17<br>
>  linklayer atm overhead 18 mtu 2047 tsize 128<br>
> qdisc pie 110: dev ifb0 parent 1:11 limit 1000p target 20000 tupdate 30000 alpha 2 beta 20 ecn<br>
> qdisc pie 120: dev ifb0 parent 1:12 limit 1000p target 20000 tupdate 30000 alpha 2 beta 20 ecn<br>
> qdisc pie 130: dev ifb0 parent 1:13 limit 1000p target 20000 tupdate 30000 alpha 2 beta 20 ecn<br>
> qdisc mq 1: dev sw10 root<br>
> qdisc fq_codel 10: dev sw10 parent 1:1 limit 800p flows 1024 quantum 500 target 10.0ms interval 100.0ms<br>
> qdisc fq_codel 20: dev sw10 parent 1:2 limit 800p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 30: dev sw10 parent 1:3 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 40: dev sw10 parent 1:4 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms<br>
> qdisc mq 1: dev sw00 root<br>
> qdisc fq_codel 10: dev sw00 parent 1:1 limit 800p flows 1024 quantum 500 target 10.0ms interval 100.0ms<br>
> qdisc fq_codel 20: dev sw00 parent 1:2 limit 800p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 30: dev sw00 parent 1:3 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 40: dev sw00 parent 1:4 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms<br>
> qdisc mq 1: dev gw00 root<br>
> qdisc fq_codel 10: dev gw00 parent 1:1 limit 800p flows 1024 quantum 500 target 10.0ms interval 100.0ms<br>
> qdisc fq_codel 20: dev gw00 parent 1:2 limit 800p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 30: dev gw00 parent 1:3 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 40: dev gw00 parent 1:4 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms<br>
> qdisc mq 1: dev gw10 root<br>
> qdisc fq_codel 10: dev gw10 parent 1:1 limit 800p flows 1024 quantum 500 target 10.0ms interval 100.0ms<br>
> qdisc fq_codel 20: dev gw10 parent 1:2 limit 800p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 30: dev gw10 parent 1:3 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 40: dev gw10 parent 1:4 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms<br>
> qdisc fq_codel a: dev pppoe-ge00 root refcnt 2 limit 1000p flows 1024 quantum 1000 target 5.0ms interval 100.0ms ecn<br>
><br>
><br>
> tc class show dev ge00<br>
> class htb 1:11 parent 1:1 leaf 110: prio 1 rate 128000bit ceil 316000bit burst 1600b cburst 1599b<br>
> class htb 1:1 root rate 950000bit ceil 950000bit burst 1599b cburst 1599b<br>
> class htb 1:10 parent 1:1 prio 0 rate 950000bit ceil 950000bit burst 1599b cburst 1599b<br>
> class htb 1:13 parent 1:1 leaf 130: prio 3 rate 158000bit ceil 934000bit burst 1599b cburst 1599b<br>
> class htb 1:12 parent 1:1 leaf 120: prio 2 rate 158000bit ceil 934000bit burst 1599b cburst 1599b<br>
><br>
> with fq_codel, and 25ms target:<br>
><br>
> tc -d qdisc<br>
> qdisc fq_codel a: dev se00 root refcnt 2 limit 1000p flows 1024 quantum 1000 target 5.0ms interval 100.0ms ecn<br>
> qdisc htb 1: dev ge00 root refcnt 2 r2q 10 default 12 direct_packets_stat 9 ver 3.17<br>
>  linklayer atm overhead 18 mtu 2047 tsize 128<br>
> qdisc fq_codel 110: dev ge00 parent 1:11 limit 1000p flows 1024 quantum 300 target 25.0ms interval 100.0ms<br>
> qdisc fq_codel 120: dev ge00 parent 1:12 limit 1000p flows 1024 quantum 300 target 25.0ms interval 100.0ms<br>
> qdisc fq_codel 130: dev ge00 parent 1:13 limit 1000p flows 1024 quantum 300 target 25.0ms interval 100.0ms<br>
<br>
        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?<br>

<br>
Best<br>
        Sebastian<br>
<br>
<br>
<br>
> qdisc ingress ffff: dev ge00 parent ffff:fff1 ----------------<br>
> qdisc htb 1: dev ifb0 root refcnt 2 r2q 10 default 12 direct_packets_stat 0 ver 3.17<br>
>  linklayer atm overhead 18 mtu 2047 tsize 128<br>
> qdisc fq_codel 110: dev ifb0 parent 1:11 limit 1000p flows 1024 quantum 500 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 120: dev ifb0 parent 1:12 limit 1000p flows 1024 quantum 1500 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 130: dev ifb0 parent 1:13 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc mq 1: dev sw00 root<br>
> qdisc fq_codel 10: dev sw00 parent 1:1 limit 800p flows 1024 quantum 500 target 10.0ms interval 100.0ms<br>
> qdisc fq_codel 20: dev sw00 parent 1:2 limit 800p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 30: dev sw00 parent 1:3 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 40: dev sw00 parent 1:4 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms<br>
> qdisc mq 1: dev sw10 root<br>
> qdisc fq_codel 10: dev sw10 parent 1:1 limit 800p flows 1024 quantum 500 target 10.0ms interval 100.0ms<br>
> qdisc fq_codel 20: dev sw10 parent 1:2 limit 800p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 30: dev sw10 parent 1:3 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 40: dev sw10 parent 1:4 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms<br>
> qdisc mq 1: dev gw00 root<br>
> qdisc fq_codel 10: dev gw00 parent 1:1 limit 800p flows 1024 quantum 500 target 10.0ms interval 100.0ms<br>
> qdisc fq_codel 20: dev gw00 parent 1:2 limit 800p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 30: dev gw00 parent 1:3 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 40: dev gw00 parent 1:4 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms<br>
> qdisc mq 1: dev gw10 root<br>
> qdisc fq_codel 10: dev gw10 parent 1:1 limit 800p flows 1024 quantum 500 target 10.0ms interval 100.0ms<br>
> qdisc fq_codel 20: dev gw10 parent 1:2 limit 800p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 30: dev gw10 parent 1:3 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn<br>
> qdisc fq_codel 40: dev gw10 parent 1:4 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms<br>
> qdisc fq_codel a: dev pppoe-ge00 root refcnt 2 limit 1000p flows 1024 quantum 1000 target 5.0ms interval 100.0ms ecn<br>
><br>
><br>
> tc class show dev ge00<br>
> class htb 1:11 parent 1:1 leaf 110: prio 1 rate 128000bit ceil 316000bit burst 1600b cburst 1599b<br>
> class htb 1:1 root rate 950000bit ceil 950000bit burst 1599b cburst 1599b<br>
> class htb 1:10 parent 1:1 prio 0 rate 950000bit ceil 950000bit burst 1599b cburst 1599b<br>
> class htb 1:13 parent 1:1 leaf 130: prio 3 rate 158000bit ceil 934000bit burst 1599b cburst 1599b<br>
> class htb 1:12 parent 1:1 leaf 120: prio 2 rate 158000bit ceil 934000bit burst 1599b cburst 1599b<br>
> class fq_codel 110:2c9 parent 110:<br>
> class fq_codel 120:1a5 parent 120:<br>
> class fq_codel 120:31f parent 120:<br>
><br>
><br>
><br>
> On 27/12/13 19:49, Dave Taht wrote:<br>
>><br>
>> 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)<br>
>><br>
>> A packet takes 13ms to transit the device at 1mbit.<br>
>><br>
>> 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.<br>

>><br>
>> I suggested 25ms as a test (as pie never makes 20ms anyway)<br>
>><br>
>> I came close to inserting a simple formula to start increasing the target below 4mbit in this release.<br>
>><br>
>> On Dec 27, 2013 11:25 AM, "Sebastian Moeller" <<a href="mailto:moeller0@gmx.de">moeller0@gmx.de</a>> wrote:<br>
>> ><br>
>> > Hi Fred,<br>
>> ><br>
>> > 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…<br>

>> ><br>
>> ><br>
>> > Best Regards<br>
>> >         Sebastian<br>
>> ><br>
>> ><br>
>> > On Dec 27, 2013, at 20:20 , Fred Stratton <fredstratton@imap.cc> wrote:<br>
>> ><br>
>> > > I have been using pie for approximately 3 weeks.<br>
>> > ><br>
>> > > You are correct, in that the outbound speed is about 800 - 900 kb/s.<br>
>> > ><br>
>> > > I shall try what you suggest, but do not know how to express the target of 25 ms as a configuration option.<br>
>> > ><br>
>> > ><br>
>> > > On 27/12/13 19:15, Dave Taht wrote:<br>
>> > >> 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?)<br>
>> > >><br>
>> > >> On Dec 27, 2013 11:10 AM, "Fred Stratton" <fredstratton@imap.cc> wrote:<br>
>> > >> I upgraded to 3.10.24-8 on 2013-12-23.<br>
>> > >><br>
>> > >> I modified /etc/fixdaemons, adding<br>
>> > >> /etc/init.d/sqm restart<br>
>> > >><br>
>> > >> input the appropriate sqm settings, transcribed from aqm<br>
>> > >><br>
>> > >> rebooted<br>
>> > >><br>
>> > >> and the build works very well. For ADSL2+ here, it is the best so far.<br>
>> > >><br>
>> > >><br>
>> > >> On 27/12/13 18:55, Dave Taht wrote:<br>
>> > >>> A race condition appears to have crept in...<br>
>> > >>><br>
>> > >>> ---------- Forwarded message ----------<br>
>> > >>> From: "Dave Taht" <<a href="mailto:dave.taht@gmail.com">dave.taht@gmail.com</a>><br>
>> > >>> Date: Dec 27, 2013 10:47 AM<br>
>> > >>> Subject: Re: [Cerowrt-devel] CeroWrt 3.10.24-8 badly bloated?<br>
>> > >>> To: "Richard E. Brown" <<a href="mailto:richb.hanover@gmail.com">richb.hanover@gmail.com</a>><br>
>> > >>> Cc:<br>
>> > >>><br>
>> > >>> Probably didn't start sqm properly<br>
>> > >>><br>
>> > >>> Restart it by hand via /etc/init.d/sqm restart<br>
>> > >>><br>
>> > >>> tc -s qdisc show dev ge00<br>
>> > >>><br>
>> > >>> Should show htb and fq codel.<br>
>> > >>><br>
>> > >>> On Dec 27, 2013 10:36 AM, "Rich Brown" <<a href="mailto:richb.hanover@gmail.com">richb.hanover@gmail.com</a>> wrote:<br>
>> > >>> 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.<br>

>> > >>><br>
>> > >>> 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.<br>
>> > >>><br>
>> > >>> Ping times to google are normally ~51-54 msec. But when I fired up <a href="http://speedtest.net" target="_blank">speedtest.net</a>, they jumped to 1500-2500 msec. Is there something I should look at before reverting? Thanks.<br>

>> > >>><br>
>> > >>> Rich<br>
>> > >>> _______________________________________________<br>
>> > >>> Cerowrt-devel mailing list<br>
>> > >>> <a href="mailto:Cerowrt-devel@lists.bufferbloat.net">Cerowrt-devel@lists.bufferbloat.net</a><br>
>> > >>> <a href="https://lists.bufferbloat.net/listinfo/cerowrt-devel" target="_blank">https://lists.bufferbloat.net/listinfo/cerowrt-devel</a><br>
>> > >>><br>
>> > >>><br>
>> > >>> _______________________________________________<br>
>> > >>> Cerowrt-devel mailing list<br>
>> > >>><br>
>> > >>> <a href="mailto:Cerowrt-devel@lists.bufferbloat.net">Cerowrt-devel@lists.bufferbloat.net</a><br>
>> > >>> <a href="https://lists.bufferbloat.net/listinfo/cerowrt-devel" target="_blank">https://lists.bufferbloat.net/listinfo/cerowrt-devel</a><br>
>> > >><br>
>> > ><br>
>> > > _______________________________________________<br>
>> > > Cerowrt-devel mailing list<br>
>> > > <a href="mailto:Cerowrt-devel@lists.bufferbloat.net">Cerowrt-devel@lists.bufferbloat.net</a><br>
>> > > <a href="https://lists.bufferbloat.net/listinfo/cerowrt-devel" target="_blank">https://lists.bufferbloat.net/listinfo/cerowrt-devel</a><br>
>> ><br>
><br>
<br>
</blockquote></div>