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
