All of lore.kernel.org
 help / color / mirror / Atom feed
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



             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.