On Mon, Apr 25, 2016 at 2:13 AM, Sebastian Kemper <[email protected]> wrote:
> On Sat, Apr 23, 2016 at 09:31:17PM -0400, Weedy wrote:
>> On Sat, Apr 23, 2016 at 2:26 PM, Karl O. Pinc <[email protected]> wrote:
>> > On Sat, 23 Apr 2016 12:32:50 -0400
>> > Weedy <[email protected]> wrote:
>> >
>> >> For me qos-scripts used to be amazing. but ever since the fq_codel
>> >> changes it just doesn't work the same.
>> >> I mean how can a single http stream kill the network?
>> >
>> > I always begin by blaming buffer-bloat.  But that's just me
>> > looking for something to blame.
>>
>>     option upload        500
>>     option download        10000
>> Literally HALF of my line sync.
>
> Hello Weedy,
>
> Maybe you need some extra configuration for your line. Like, for a DSL
> connection I add the linklayer adsl option and set an overhead value
> like this:
>
> Upload:
> tc qdisc add stab overhead 40 linklayer adsl dev pppoe-wan root handle 1: 
> hfsc default 40
> Download:
> tc qdisc add stab overhead 40 linklayer adsl dev ifb0 root handle 1: hfsc 
> default 40
>
> The overhead depends on the technology in use. There's some
> documentation on this on the Internet.
>
> Without this I also had to go way below my line speed to get halfway
> decent latencies.
>
> I don't know if you can get qos-scripts to set this for you. I use my
> own script to configure the qdiscs.
>
> Regards,
> Sebastian

Adding "stab overhead 40 linklayer adsl" seems to help a lot. But I
have too raise option upload/download much closer to my line rates.
Which if this is doing the overhead compensation makes sense.

64 bytes from 4.2.2.1: icmp_seq=114 ttl=59 time=41.8 ms
64 bytes from 4.2.2.1: icmp_seq=115 ttl=59 time=41.6 ms
64 bytes from 4.2.2.1: icmp_seq=116 ttl=59 time=42.6 ms
64 bytes from 4.2.2.1: icmp_seq=117 ttl=59 time=40.3 ms
64 bytes from 4.2.2.1: icmp_seq=118 ttl=59 time=49.3 ms
64 bytes from 4.2.2.1: icmp_seq=119 ttl=59 time=41.4 ms
64 bytes from 4.2.2.1: icmp_seq=120 ttl=59 time=42.3 ms
64 bytes from 4.2.2.1: icmp_seq=121 ttl=59 time=39.7 ms
<start>
64 bytes from 4.2.2.1: icmp_seq=122 ttl=59 time=91.1 ms
64 bytes from 4.2.2.1: icmp_seq=123 ttl=59 time=42.0 ms
64 bytes from 4.2.2.1: icmp_seq=124 ttl=59 time=77.4 ms
64 bytes from 4.2.2.1: icmp_seq=125 ttl=59 time=85.0 ms
64 bytes from 4.2.2.1: icmp_seq=126 ttl=59 time=49.5 ms
64 bytes from 4.2.2.1: icmp_seq=127 ttl=59 time=153 ms
64 bytes from 4.2.2.1: icmp_seq=128 ttl=59 time=66.7 ms
64 bytes from 4.2.2.1: icmp_seq=129 ttl=59 time=45.7 ms
64 bytes from 4.2.2.1: icmp_seq=130 ttl=59 time=49.9 ms
64 bytes from 4.2.2.1: icmp_seq=131 ttl=59 time=46.7 ms
64 bytes from 4.2.2.1: icmp_seq=132 ttl=59 time=45.8 ms
64 bytes from 4.2.2.1: icmp_seq=133 ttl=59 time=43.6 ms
64 bytes from 4.2.2.1: icmp_seq=134 ttl=59 time=43.2 ms


root@OpenWrt:~# /usr/lib/qos/generate.sh interface wan
insmod cls_u32 >&- 2>&-
insmod em_u32 >&- 2>&-
insmod act_connmark >&- 2>&-
insmod act_mirred >&- 2>&-
insmod sch_ingress >&- 2>&-
insmod cls_fw >&- 2>&-
insmod sch_hfsc >&- 2>&-
insmod sch_fq_codel >&- 2>&-
ifconfig pppoe-wan up >&- 2>&-
tc qdisc del dev pppoe-wan root >&- 2>&-
tc qdisc add stab overhead 40 linklayer adsl dev pppoe-wan root handle
1: hfsc default 30
tc class add dev pppoe-wan parent 1: classid 1:1 hfsc sc rate 700kbit
ul rate 700kbit
tc class add dev pppoe-wan parent 1:1 classid 1:10 hfsc rt m1 361kbit
d 1116us m2 140kbit ls m1 361kbit d 1116us m2 388kbit ul rate 700kbit
tc class add dev pppoe-wan parent 1:1 classid 1:20 hfsc rt m1 364kbit
d 2790us m2 350kbit ls m1 364kbit d 2790us m2 194kbit ul rate 700kbit
tc class add dev pppoe-wan parent 1:1 classid 1:30 hfsc ls m1 0kbit d
100000us m2 97kbit ul rate 700kbit
tc class add dev pppoe-wan parent 1:1 classid 1:40 hfsc ls m1 0kbit d
220000us m2 19kbit ul rate 560kbit
tc qdisc add dev pppoe-wan parent 1:10 handle 100: fq_codel limit 800
quantum 300 noecn
tc qdisc add dev pppoe-wan parent 1:20 handle 200: fq_codel limit 800
quantum 300 noecn
tc qdisc add dev pppoe-wan parent 1:30 handle 300: fq_codel limit 800
quantum 300 noecn
tc qdisc add dev pppoe-wan parent 1:40 handle 400: fq_codel limit 800
quantum 300 noecn
tc filter add dev pppoe-wan parent 1: prio 2 handle 0x10/0xf0 fw flowid 1:10
tc filter add dev pppoe-wan parent 1: prio 3 handle 0x01/0x0f fw flowid 1:10
tc filter add dev pppoe-wan parent 1: prio 4 handle 0x20/0xf0 fw flowid 1:20
tc filter add dev pppoe-wan parent 1: prio 5 handle 0x02/0x0f fw flowid 1:20
tc filter add dev pppoe-wan parent 1: prio 6 handle 0x30/0xf0 fw flowid 1:30
tc filter add dev pppoe-wan parent 1: prio 7 handle 0x03/0x0f fw flowid 1:30
tc filter add dev pppoe-wan parent 1: prio 8 handle 0x40/0xf0 fw flowid 1:40
tc filter add dev pppoe-wan parent 1: prio 9 handle 0x04/0x0f fw flowid 1:40
ifconfig ifb0 up >&- 2>&-
tc qdisc del dev ifb0 root >&- 2>&-
tc qdisc add stab overhead 40 linklayer adsl dev ifb0 root handle 1:
hfsc default 30
tc class add dev ifb0 parent 1: classid 1:1 hfsc sc rate 15000kbit ul
rate 15000kbit
tc qdisc del dev pppoe-wan ingress >&- 2>&-
tc qdisc add dev pppoe-wan ingress
tc filter add dev pppoe-wan parent ffff: prio 1 u32 match u32 0 0
flowid 1:1 action connmark action mirred egress redirect dev ifb0
tc class add dev ifb0 parent 1:1 classid 1:10 hfsc rt m1 3400kbit d
130us m2 1500kbit ls m1 3400kbit d 130us m2 8333kbit ul rate 15000kbit
tc class add dev ifb0 parent 1:1 classid 1:20 hfsc rt m1 7816kbit d
130us m2 7500kbit ls m1 7816kbit d 130us m2 4166kbit ul rate 15000kbit
tc class add dev ifb0 parent 1:1 classid 1:30 hfsc ls m1 0kbit d
100000us m2 2083kbit ul rate 15000kbit
tc class add dev ifb0 parent 1:1 classid 1:40 hfsc ls m1 0kbit d
220000us m2 416kbit ul rate 12000kbit
tc qdisc add dev ifb0 parent 1:10 handle 100: fq_codel limit 800
quantum 300 noecn
tc qdisc add dev ifb0 parent 1:20 handle 200: fq_codel limit 800
quantum 300 noecn
tc qdisc add dev ifb0 parent 1:30 handle 300: fq_codel limit 800
quantum 300 noecn
tc qdisc add dev ifb0 parent 1:40 handle 400: fq_codel limit 800
quantum 300 noecn
tc filter add dev ifb0 parent 1: prio 2 handle 0x01/0x0f fw flowid 1:10
tc filter add dev ifb0 parent 1: prio 3 handle 0x10/0xf0 fw flowid 1:10
tc filter add dev ifb0 parent 1: prio 4 handle 0x02/0x0f fw flowid 1:20
tc filter add dev ifb0 parent 1: prio 5 handle 0x20/0xf0 fw flowid 1:20
tc filter add dev ifb0 parent 1: prio 6 handle 0x03/0x0f fw flowid 1:30
tc filter add dev ifb0 parent 1: prio 7 handle 0x30/0xf0 fw flowid 1:30
tc filter add dev ifb0 parent 1: prio 8 handle 0x04/0x0f fw flowid 1:40
tc filter add dev ifb0 parent 1: prio 9 handle 0x40/0xf0 fw flowid 1:40

Except now kernel isn't happy
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.216148]
------------[ cut here ]------------
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.220919] WARNING:
CPU: 0 PID: 0 at net/sched/sch_hfsc.c:1429 0x87be9d58()
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.228098] Modules
linked in: ifb ath9k ath9k_common pppoe ppp_async iptable_nat ath9k_hw
ath pppox ppp_generic nf_nat_ipv4 nf_conntrack_ipv6 nf_conntrack_ipv4
mac80211 ipt_REJECT ipt_MASQUERADE cfg80211 xt_time xt_tcpudp
xt_tcpmss xt_statistic xt_state xt_recent xt_nat xt_multiport xt_mark
xt_mac xt_limit xt_length xt_id xt_hl xt_helper xt_ecn xt_dscp
xt_conntrack xt_connmark xt_connlimit xt_connbytes xt_comment
xt_TCPMSS xt_REDIRECT xt_LOG xt_HL xt_DSCP xt_CTue Apr 26 11:43:21
2016 kern.warn kernel: [  131.320399] CPU: 0 PID: 0 Comm: swapper Not
tainted 4.1.20 #3
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.326230] Stack :
8039134c 00000000 00000001 803e0000 803d0b10 803d07a3 80373b2c
00000000
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.326230]
80433514 86e60390 86e60068 870e0300 00000100 800a61fc 803e0464
803d0000
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.326230]
00000003 86e60390 803773b4 803cbc2c 00000100 800a480c 00000021
00000000
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.326230]
00000001 80430000 00000000 00000000 00000000 00000000 00000000
00000000
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.326230]
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.326230]       ...
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.362646] Call Trace:
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.365144] [<80071fd0>]
show_stack+0x50/0x84
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.369592] [<800815b8>]
warn_slowpath_common+0xa0/0xd0
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.374915] [<8008166c>]
warn_slowpath_null+0x18/0x24
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.380082] [<87be9d58>]
0x87be9d58
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.383620]
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.385133] ---[ end
trace 5893e6d2da289943 ]---
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.392739]
------------[ cut here ]------------
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.397528] WARNING:
CPU: 0 PID: 2383 at net/sched/sch_hfsc.c:1429 0x87be9d58()
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.404964] Modules
linked in: ifb ath9k ath9k_common pppoe ppp_async iptable_nat ath9k_hw
ath pppox ppp_generic nf_nat_ipv4 nf_conntrack_ipv6 nf_conntrack_ipv4
mac80211 ipt_REJECT ipt_MASQUERADE cfg80211 xt_time xt_tcpudp
xt_tcpmss xt_statistic xt_state xt_recent xt_nat xt_multiport xt_mark
xt_mac xt_limit xt_length xt_id xt_hl xt_helper xt_ecn xt_dscp
xt_conntrack xt_connmark xt_connlimit xt_connbytes xt_comment
xt_TCPMSS xt_REDIRECT xt_LOG xt_HL xt_DSCP xt_CTue Apr 26 11:43:21
2016 kern.warn kernel: [  131.497316] CPU: 0 PID: 2383 Comm: miniupnpd
Tainted: G        W       4.1.20 #3
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.504827] Stack :
8039134c 00000000 00000001 803e0000 87999190 803d07a3 80373b2c
0000094f
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.504827]
80433514 86e60390 86e60068 86dbef00 803cc45c 800a61fc 803e0464
803d0000
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.504827]
00000003 86e60390 803773b4 86f836f4 803cc45c 800a480c 00000021
00000000
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.504827]
803cf8f0 80430000 00000000 00000000 00000000 00000000 00000000
00000000
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.504827]
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.504827]       ...
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.541224] Call Trace:
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.543723] [<80071fd0>]
show_stack+0x50/0x84
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.548170] [<800815b8>]
warn_slowpath_common+0xa0/0xd0
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.553483] [<8008166c>]
warn_slowpath_null+0x18/0x24
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.558647] [<87be9d58>]
0x87be9d58
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.562190]
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.563702] ---[ end
trace 5893e6d2da289944 ]---
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.568693]
------------[ cut here ]------------
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.573426] WARNING:
CPU: 0 PID: 2383 at net/sched/sch_hfsc.c:1429 0x87be9d58()
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.580881] Modules
linked in: ifb ath9k ath9k_common pppoe ppp_async iptable_nat ath9k_hw
ath pppox ppp_generic nf_nat_ipv4 nf_conntrack_ipv6 nf_conntrack_ipv4
mac80211 ipt_REJECT ipt_MASQUERADE cfg80211 xt_time xt_tcpudp
xt_tcpmss xt_statistic xt_state xt_recent xt_nat xt_multiport xt_mark
xt_mac xt_limit xt_length xt_id xt_hl xt_helper xt_ecn xt_dscp
xt_conntrack xt_connmark xt_connlimit xt_connbytes xt_comment
xt_TCPMSS xt_REDIRECT xt_LOG xt_HL xt_DSCP xt_CTue Apr 26 11:43:21
2016 kern.warn kernel: [  131.673139] CPU: 0 PID: 2383 Comm: miniupnpd
Tainted: G        W       4.1.20 #3
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.680654] Stack :
8039134c 00000000 00000001 803e0000 87999190 803d07a3 80373b2c
0000094f
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.680654]
80433514 86e60390 86e60068 0000000a 00000101 800a61fc 803e0464
803d0000
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.680654]
00000003 86e60390 803773b4 86f83a84 00000101 800a480c 00000002
00000000
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.680654]
803cf8f0 80430000 00000000 00000000 00000000 00000000 00000000
00000000
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.680654]
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.680654]       ...
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.717066] Call Trace:
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.719562] [<80071fd0>]
show_stack+0x50/0x84
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.724003] [<800815b8>]
warn_slowpath_common+0xa0/0xd0
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.729319] [<8008166c>]
warn_slowpath_null+0x18/0x24
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.734475] [<87be9d58>]
0x87be9d58
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.738026]
Tue Apr 26 11:43:21 2016 kern.warn kernel: [  131.739544] ---[ end
trace 5893e6d2da289945 ]---

I kinda just want the old qos-scripts back. It never failed to clamp
down bulk traffic and I never dropped pings or IRC connections. This
new one seems to be "too fair" and I end up dropping packets from
everywhere instead of just Bulk and Normal.
_______________________________________________
openwrt-users mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-users

Reply via email to