From: "Peter A. Bigot" <pab@pabigot.com>
To: "meta-ti@yoctoproject.org" <meta-ti@yoctoproject.org>
Subject: poor performance of OpenEmbedded on BeagleBoneBlack compared to Debian
Date: Wed, 03 Sep 2014 20:59:28 -0500 [thread overview]
Message-ID: <5407C780.5040801@pabigot.com> (raw)
I've been trying to figure out why OpenEmbedded on beaglebone is three
times slower than Debian on the ray-tracing application described at:
http://scruss.com/blog/2013/09/23/beaglebone-black-slow-as-a-dog/
Part of it is due to meta-yocto-bsp's beaglebone config not enabling CPU
frequency control (CONFIG_GENERIC_CPUFREQ_CPU0,
CONFIG_VOLTAGE_DOMAIN_OMAP, and some THERMAL options). That can be
fixed for linux-yocto, and isn't an issue with linux-ti-staging, but it
doesn't eliminate the discrepancies.
With debian, the sample program described in that blog posting runs this
fast:
debian@beaglebone:~$ g++ -Ofast -mfloat-abi=hard -o card card.cpp
debian@beaglebone:~$ time ./card > /dev/null
real 4m54.846s
user 4m54.627s
sys 0m0.057s
With poky master + meta-ti it runs this fast:
root@beaglebone:~# time ./card > /dev/null
real 9m37.901s
user 9m37.200s
sys 0m0.150s
Still nearly twice as slow. (With linux-yocto and the default kernel
configuration it's up around 14m.)
One anomaly I've found is the CPU frequency range. On debian we have:
debian@beaglebone:~$ cat
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
300000 600000 800000 1000000
while on OE we have:
root@beaglebone:~# cat
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
300000 600000 720000 800000
So OE isn't allowing the BeagleBoneBlack to run at its maximum speed.
This isn't enough to explain a nearly 2x performance difference, but
it's an issue I want resolved.
I've been unable to trace back where these frequencies come from. Could
somebody tell me what configures the available frequencies for the
AM335x in linux-ti-staging?
And if anybody has suggestions of where else to look for an explanation,
I'd appreciate it. I've tried all the gcc flags I can think of
(-mcpu=cortex-a8, -mfpu=neon, -mfloat-abi=hard, etc), though I'm going
to keep poking at it because I still suspect the problem is there.
Thanks.
Peter
next reply other threads:[~2014-09-04 1:59 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-04 1:59 Peter A. Bigot [this message]
2014-09-04 2:46 ` poor performance of OpenEmbedded on BeagleBoneBlack compared to Debian Robert Nelson
2014-09-04 10:46 ` Peter A. Bigot
2014-09-04 5:39 ` Khem Raj
2014-09-04 10:55 ` Peter A. Bigot
2014-09-04 12:33 ` Dmytriyenko, Denys
-- strict thread matches above, loose matches on Subject: below --
2014-09-04 14:50 poor performance of OpenEmbedded on, " Mikhail Zakharov
2014-09-04 15:00 ` Denys Dmytriyenko
2014-09-04 15:37 ` Peter A. Bigot
2014-09-04 15:41 ` Peter A. Bigot
2014-09-04 17:50 ` Peter A. Bigot
2014-09-04 15:48 ` Denys Dmytriyenko
2014-09-04 15:55 ` Robert Nelson
2014-09-04 18:10 ` Denys Dmytriyenko
2014-09-04 19:03 ` Robert Nelson
2014-09-04 19:09 ` Denys Dmytriyenko
2014-09-04 19:04 ` Peter A. Bigot
2014-09-04 19:07 ` Robert Nelson
2014-09-04 19:09 ` Robert Nelson
2014-09-04 19:41 ` Denys Dmytriyenko
2014-09-04 15:55 ` Peter A. Bigot
2014-09-04 19:48 ` Khem Raj
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5407C780.5040801@pabigot.com \
--to=pab@pabigot.com \
--cc=meta-ti@yoctoproject.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.