[Cake] kernel performance analysis in openwrt

Dave Taht dave.taht at gmail.com
Fri Oct 30 08:26:02 EDT 2015

So we are having issues with long term forwarding throughput in cake?
or just cake on low end processors? Am confused. ?

my original rrul tests of cake were at 100 mbit down/20 up, which is
what comcast had upgraded me to.  It worked where the fq_codel based
system had not.

If we have limits at 50/50, well, that wasn't my tested scenario and
my observation is inbound rate limiting is more expensive than
outbound by about 2x. i keep hoping someone will poke into an
act_mirred replacement....

and ALL that said, performance on a system is a whole system issue -
you need to profile the whole thing, over time, to see where the
performance loss over a 5 minute run is coming from. My guess would be
memory fragmentation, but I am old enough to profile, always. You
could also be losing packets on the rx path... another bug entirely...
it could be space aliens...

and looking at the state of the codel algorithms is also important -
but being out of cpu does heisenbug things.

I used to use oprofile, but perf is all the rage.

Perf can be cross compiled for openwrt, (it is in the kernel tree, you
just need to go in there and tell it what compiler to use) however you
generally need to nfs mount the kernel and fs in order to get a
debuggable build.

Also, in the case of the archer, the unaligned access hacks are
uneeded, and you can actually compile for a later model cpu

I learned an awful lot from jesper recently about how to use perf, but
then it all exited my head. Perhaps there is a good tutorial out
there? Or jesper can do a perf run with the current sch_cake codebase
on his gear? :puppy dog eyes:

Certainly once we are convinced the algorithms and implementations in
cake are correct, then it is time to profile, and profiling earlier
than that - like now - is good practice and may expose other issues
elsewhere in the system.

Jesper and I did take a look at it a few weeks back, and only found 3
hotspots (he probably has the data somewhere) - one of which was
unnecessarily computing the hash twice, which I think is fixed now.

Dave Täht
I just invested five years of my life to making wifi better. And,
now... the FCC wants to make my work, illegal for people to install.

More information about the Cake mailing list