[maemo-developers] Oprofile or Gprof working with toolchain cs2005q3.2-glibc-arm and bora?

From: Gustavo Sverzut Barbieri barbieri at gmail.com
Date: Thu May 17 01:16:59 EEST 2007
Hello,

I've to do optimization on Evas graphics library[1], basically is
finish the 16bpp engine and follow Siarhei's hints on memory alignment
and fast copy.

But in order to get data I'm trying to setup Oprofile and Gprof, but I
couldn't any to work right so far, using cs2005q3.2-glibc-arm and
running under bora (RX-34_2007SE_3.2007.10-7_PR_COMBINED_MR0_ARM.bin).

== Oprofile ==

I've followed http://maemo.org/development/documentation/how-tos/3-x/howto_kernel_guide_bora.html
in order to recompile kernel with n800_defconfig and

CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_PROFILING=y
CONFIG_OPROFILE=y
CONFIG_SCHEDSTATS=y
CONFIG_DEBUG_FS=y

First I had a problem with "opcontrol --separate=all" which seems to
be related to shell usage, so I've edited /root/.oprofile/daemonrc to
set SEPARATE_LIB=1 and SEPARATE_KERNEL=1

I've compiled my application with "-DNDEBUG=1 -g -O2 -mfpu=vfp
-mfloat-abi=softfp -mcpu=arm1136j-s".

Then I run, as instructed by oprofile.sf.net docs:

opcontrol --init
opcontrol --vmlinux=/root/vmlinux  # I've copied the vmlinux compiled
for oprofile there
opcontrol --start --event=CPU_CYCLES:7500
--event=BR_INST_MISS_PRED:7500 --event=DCACHE_MISS:7500  --callgraph=3
   # these are the minimum allowed counters, but I've tried with
1000000 too with same problems
expedite -e x11  # benchmark tool, which I left running on "Image
blend Unescaled" for more than 10 minutes
opcontrol --stop

then, on opreport, no matter what options I use just get "cx3110x" and
"umac" processes, other are anonymous with no much other info
associated.


== Gprof ==

After no luck with Oprofile I opted to give Gprof a try, I've
recompiled every library and benchmark/test with "-DNDEBUG=1 -pg -O2",
but then I get segfault on libc's function "mcount()"



Since Eero, Siarhei and others said they had success with those tools,
so I'd like some hints on what I'm doing wrong/missing...

PS: People interested in doing graphical apps that may be interested,
I've some examples[2] and code is being written at [1] under
libs/evas/modules/engines/software_16  and
libs/evas/modules/engines/software_16_x11

[1] Evas can be downloaded from "cvs
-d:pserver:anonymous at anoncvs.enlightenment.org:/var/cvs/e e17", just
compile libs/{eet,evas,ecore,embryo,edje} and apps/expedite
[2] http://barbieri-playground.googlecode.com/svn/efl-tests/

-- 
Gustavo Sverzut Barbieri
--------------------------------------
Jabber: barbieri at gmail.com
   MSN: barbieri at gmail.com
  ICQ#: 17249123
 Skype: gsbarbieri
Mobile: +55 (81) 9927 0010

More information about the maemo-developers mailing list