From: Dave Taht <dave.taht@gmail.com>
To: cake@lists.bufferbloat.net, Felix Fietkau <nbd@nbd.name>,
Jesper Dangaard Brouer <brouer@redhat.com>
Subject: [Cake] kernel performance analysis in openwrt
Date: Fri, 30 Oct 2015 08:26:02 -0400 [thread overview]
Message-ID: <CAA93jw7nHdNzVqYV1bwxNbL3kQwXKc7iQvD_FZ0SyifMmQpCzw@mail.gmail.com> (raw)
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
architecture.
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.
https://www.gofundme.com/savewifi
next reply other threads:[~2015-10-30 12:26 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-30 12:26 Dave Taht [this message]
2015-10-30 12:30 ` Toke Høiland-Jørgensen
2015-10-30 14:33 ` Jonathan Morton
2015-10-30 14:34 ` Toke Høiland-Jørgensen
2015-10-30 14:36 ` Kevin Darbyshire-Bryant
2015-10-30 14:43 ` Toke Høiland-Jørgensen
2015-10-30 14:38 ` Jonathan Morton
2015-10-30 15:04 ` Toke Høiland-Jørgensen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAA93jw7nHdNzVqYV1bwxNbL3kQwXKc7iQvD_FZ0SyifMmQpCzw@mail.gmail.com \
--to=dave.taht@gmail.com \
--cc=brouer@redhat.com \
--cc=cake@lists.bufferbloat.net \
--cc=nbd@nbd.name \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox