[Cerowrt-devel] performance numbers from WRT1200AC (Re: Latest build test - new sqm-scripts seem to work; "cake overhead 40" didn't)
Mikael Abrahamsson
swmike at swm.pp.se
Mon Jun 29 06:00:58 PDT 2015
On Mon, 29 Jun 2015, Toke Høiland-Jørgensen wrote:
> Mikael Abrahamsson <swmike at swm.pp.se> writes:
>
>> How can I tell which one of these actually is included? Tried moving the feed
>> statement so ceropackages was first but that doesn't seem to have helped, I
>> still get OpenWrt regular sqm-scripts (no cake in luci-app-sqm).
>
> You need to have the cero feed first in feeds.conf, then do
> ./script/feeds uninstall sqm-scripts; ./script/feeds install sqm-scripts
> -- that should pull it from the cero feed. If it doesn't work, try doing
> ./scripts/feeds update first
>
> That seemed to work for me when I just tested it now, at least :)
Hi,
Ok, yes, this worked, I must have forgotten do to update after I moved
ceropackages to the top of the list before. Thanks!
So now I have a sysupgrade image for the wrt1200ac that out of the box
comes with CeroPackages and working bidirectional shaping for cake (don't
know why it didn't work before, it might have to do with my modifications.
This time I didn't modify anything on-disk, this is purely from the
CeroPackages feed).
I did try to get Kernel 4.1 to compile but that didn't work even though I
removed some packages that didn't compile, I ended up with no .dts file
and nothing to me obvious in scrollback to fix. So this is with 3.18.
Here are the cake 50M and 500M results and output from the router:
oot at OpenWrt:~# cat /etc/config/sqm
config queue 'eth1'
option interface 'eth0'
option qdisc_advanced '1'
option squash_dscp '0'
option squash_ingress '0'
option ingress_ecn 'ECN'
option egress_ecn 'ECN'
option qdisc_really_really_advanced '0'
option linklayer 'ethernet'
option overhead '42'
option linklayer_advanced '1'
option tcMTU '2047'
option tcTSIZE '128'
option tcMPU '0'
option enabled '1'
option script 'simple.qos'
option qdisc 'cake'
option linklayer_adaptation_mechanism 'cake'
option download '500000'
option upload '500000'
root at OpenWrt:~# tc -d qdisc
qdisc cake 8009: dev eth0 root refcnt 9 bandwidth 500Mbit diffserv4 flows
noatm overhead 42
qdisc ingress ffff: dev eth0 parent ffff:fff1 ----------------
qdisc mq 0: dev eth1 root
qdisc fq_codel 0: dev eth1 parent :1 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth1 parent :2 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth1 parent :3 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth1 parent :4 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth1 parent :5 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth1 parent :6 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth1 parent :7 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth1 parent :8 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc cake 800a: dev ifb4eth0 root refcnt 2 bandwidth 500Mbit diffserv4
flows noatm overhead 42
These are the results from 50M and 500M, also including 50up and 50down
that I added to my test suite script.
http://swm.pp.se/aqm/rrul_150629-cake-4.tar
Then I re-did the test that Dave asked before, I set the wan port to 100
megabit/s in my switch, and removed the SQM. It resulted in the following
config:
root at OpenWrt:~# cat /etc/config/sqm
config queue 'eth1'
option interface 'eth0'
option qdisc_advanced '1'
option squash_dscp '0'
option squash_ingress '0'
option ingress_ecn 'ECN'
option egress_ecn 'ECN'
option qdisc_really_really_advanced '0'
option linklayer 'ethernet'
option overhead '42'
option linklayer_advanced '1'
option tcMTU '2047'
option tcTSIZE '128'
option tcMPU '0'
option script 'simple.qos'
option qdisc 'cake'
option linklayer_adaptation_mechanism 'cake'
option download '50000'
option upload '50000'
option enabled '0'
root at OpenWrt:~# tc -d qdisc
qdisc mq 0: dev eth0 root
qdisc fq_codel 0: dev eth0 parent :1 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth0 parent :2 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth0 parent :3 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth0 parent :4 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth0 parent :5 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth0 parent :6 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth0 parent :7 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth0 parent :8 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc mq 0: dev eth1 root
qdisc fq_codel 0: dev eth1 parent :1 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth1 parent :2 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth1 parent :3 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth1 parent :4 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth1 parent :5 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth1 parent :6 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth1 parent :7 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth1 parent :8 limit 1024p flows 1024 quantum 300
target 5.0ms interval 100.0ms ecn
qdisc cake 800c: dev ifb4eth0 root refcnt 2 bandwidth 50Mbit diffserv4
flows noatm overhead 42
root at OpenWrt:~# tc -d class show dev eth0
class mq :1 root
class mq :2 root
class mq :3 root
class mq :4 root
class mq :5 root
class mq :6 root
class mq :7 root
class mq :8 root
what worries me is this:
root at OpenWrt:~# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 1000baseT/Half 1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Link partner advertised link modes: 1000baseT/Full
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: No
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: external
Auto-negotiation: on
Link detected: yes
So basically even after the wan port went to 100/full, eth0 doesn't know
about it (and it only supports gig speed (probably to the local switch)
anyway. I am seeing dropped packets, so this would support this theory.
First I ran some tests with only that, then I set SQM to 90 megabit/s
results here:
http://swm.pp.se/aqm/rrul_150629-cake-5.tar
http://swm.pp.se/aqm/rrul_150629-cake-6.tar
Next I am going to test wireless but it seems something has gone wrong
because I can't get the wireless to enable properly, so that'll have to be
for the next email after I fix that problem.
--
Mikael Abrahamsson email: swmike at swm.pp.se
More information about the Cerowrt-devel
mailing list