From: Leo B. <bar...@gm...> - 2010-07-20 12:06:13
|
Hello! I am trying to profile the kernel during filesystem io on a device with an ARM Cortex-A8 CPU and have run into a couple of problems. I earlier asked a similar question, but then noticed that my OProfile version was 0.9.4 and decided to try the latest version, which is when the new problems began. 1. I managed to compile OProfile on the device but could not get opcontrol to run. Whenever I started it I got the following error: '/usr/local/bin/opcontrol: line 1115: syntax error: Bad substitution' I managed to narrow this down to be some kind of problem with Busybox which was solved when I set /bin/sh to point to /bin/bash. It might be worthwile writing somewhere in the manual that bash is a equirement or that OProfile has trouble with busybox (I found more problems). 2. I compiled in support for OProfile directly in kernel (not as a module), but with the freshly compiled OProfile installed, I get: 'cpu_type 'unset' is not valid you should upgrade oprofile or force the use of timer mode' whenever I run any of the oprofile commands. Changing to timer mode fixed this but will still give me no profiling over the kernel functions used when doing filesystem io. 3. When doing make uninstall I stumbled upon another busybox problem. I get loads of warnings like this 'rmdir: unrecognized option `--ignore-fail-on-non-empty'' which is because busybox rm does not have the --ignore-fail-on-non-empty option. Any suggestions on how to solve this? Or does there exist a OProfile 0.9.6 ARM Cortex-A8 binary/deb anywhere? Best regards, //Leo |
From: Maynard J. <may...@us...> - 2010-07-20 12:52:56
|
Leo Barnes wrote: > Hello! > > I am trying to profile the kernel during filesystem io on a device > with an ARM Cortex-A8 CPU and have run into a couple of problems. I > earlier asked a similar question, but then noticed that my OProfile > version was 0.9.4 and decided to try the latest version, which is when > the new problems began. > > 1. I managed to compile OProfile on the device but could not get > opcontrol to run. Whenever I started it I got the following error: > '/usr/local/bin/opcontrol: line 1115: syntax error: Bad substitution' > I managed to narrow this down to be some kind of problem with Busybox > which was solved when I set /bin/sh to point to /bin/bash. It might be > worthwile writing somewhere in the manual that bash is a equirement or > that OProfile has trouble with busybox (I found more problems). I've cc'ed Richard Purdie, our local busybox expert. Hopefully he can answer these questions. > > 2. I compiled in support for OProfile directly in kernel (not as a > module), but with the freshly compiled OProfile installed, I get: > 'cpu_type 'unset' is not valid > you should upgrade oprofile or force the use of timer mode' OProfile 0.9.6 does indeed support ARM Cortex-A8. So I wonder if your system setup is flakey -- i.e., you don't have 0.9.6 installed properly. Assuming your kernel is of the level that has support for that processor, when you do 'opcontrol --init', you should see /dev/oprofile/cpu_type set to 'arm/armv7'. The events spec file for this processor is installed in <oprof-install-dir>/share/oprofile/arm/armv7/events. -Maynard > whenever I run any of the oprofile commands. Changing to timer mode > fixed this but will still give me no profiling over the kernel > functions used when doing filesystem io. > > 3. When doing make uninstall I stumbled upon another busybox problem. > I get loads of warnings like this > 'rmdir: unrecognized option `--ignore-fail-on-non-empty'' > which is because busybox rm does not have the --ignore-fail-on-non-empty option. > > Any suggestions on how to solve this? Or does there exist a OProfile > 0.9.6 ARM Cortex-A8 binary/deb anywhere? > > Best regards, > //Leo > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > oprofile-list mailing list > opr...@li... > https://lists.sourceforge.net/lists/listinfo/oprofile-list |
From: Leo B. <bar...@gm...> - 2010-07-20 14:53:45
|
Thanks for your answers, will try experimenting some more. > OProfile 0.9.6 does indeed support ARM Cortex-A8. So I wonder if your system setup is flakey -- i.e., you don't have 0.9.6 installed properly. Assuming your kernel is of the level that has support for that processor, when you do 'opcontrol --init', you should see /dev/oprofile/cpu_type set to 'arm/armv7'. The events spec file for this processor is installed in <oprof-install-dir>/share/oprofile/arm/armv7/events. When I do 'cat /dev/oprofile/cpu_type' I get: arm/omap-gptimer My kernel is 2.6.28. Could this be the problem? Do you have any suggestions on how to cross-compile OProfile for Android? Getting the required libraries seems to be a bit of a problem. Best regards, //Leo |
From: Siarhei S. <sia...@no...> - 2010-07-20 15:10:07
|
On Tuesday 20 July 2010 16:47:52 ext Leo Barnes wrote: > Thanks for your answers, will try experimenting some more. > > > OProfile 0.9.6 does indeed support ARM Cortex-A8. So I wonder if your > > system setup is flakey -- i.e., you don't have 0.9.6 installed properly. > > Assuming your kernel is of the level that has support for that > > processor, when you do 'opcontrol --init', you should see > > /dev/oprofile/cpu_type set to 'arm/armv7'. The events spec file for this > > processor is installed in > > <oprof-install-dir>/share/oprofile/arm/armv7/events. > > When I do 'cat /dev/oprofile/cpu_type' I get: arm/omap-gptimer > My kernel is 2.6.28. Could this be the problem? You are probably using the kernel from N900. It has a patch to use omap gptimer instead of unreliable ARM Cortex-A8 performance monitoring unit. Userspace oprofile package from maemo5 was patched to work with it too (you can find the sources in fremantle repository). It may be a bit ugly, but hardware bugs are not very nice either. Modern mainline kernels are a totally different story. It is better to use timer mode with them (which relies on high resolution timers now). With a minor tweak, you can get a reasonable samples collection frequency instead of 128Hz. > Do you have any suggestions on how to cross-compile OProfile for > Android? Getting the required libraries seems to be a bit of a > problem. -- Best regards, Siarhei Siamashka |