From: <job...@ao...> - 2009-11-09 22:33:27
|
On Nov 9, 2009, at 12:35 PM, Maynard Johnson <may...@us...> wrote: > job...@ao... wrote: >> Following a posting from last year "/etc/mtab not present on my >> busybox system," I was able to fix both the "Kernel support not >> available" and the "Device or resource busy" errors by replacing / >> etc/mtab with /proc/mounts. >> I am still seeing: >> oprofiled: open of /var/lib/oprofile/samples//current/{root}//root/ >> freescale_test/{dep}/{root}//root/freescale_test/TIMER. >> 0.0.all.all.all failed: Invalid argument >> repeated over and over in oprofiled.log. This happens because >> the call to mmap in odb_open in libdb/db_manage.c is returning >> MAP_FAILED. The arguments to mmap are start = 0, length = 2680, >> prot = 3, flags = MAP_SHARED, fd = 5, offset = 0. errno = 22 >> (Invalid argument) >> What could cause any of these arguments to be invalid? > mmap is a syscall, and I have no idea why it would be failing for > you here since the args being passed are not atypical (instrumenting > the daemon running on my system, I see the exact same args). I'm > not seeing any evidence that anyone else has ever seen this > particular error involving oprofile, so you're experiencing > something unique. Is the kernel you're running on from kernel.org > or is it a distro kernel? Have you rebooted the system since you've > seen this problem? Can you reproduce the mmap error with a simple > program -- or are you only seeing this with oprofile? According to http://wiki.laptop.org/go/Oprofile_setup, "The jffs2 file system does NOT support the mechanism that OProfile uses." Following the example on that page, I ran the following commands after rebooting my board: Eclipse # insmod oprofile.ko Eclipse # rm -rf /var/lib/oprofile Eclipse # mkdir /var/lib/oprofile Eclipse # mount -t ramfs none /var/lib/oprofile Eclipse # opcontrol --setup --no-vmlinux --separate=library Eclipse # opcontrol --start Eclipse # opcontrol --shutdown Eclipse # opreport I am now getting a report: CPU: CPU with timer interrupt, speed 0 MHz (estimated) Profiling through timer interrupt TIMER:0| samples| %| ------------------ 18544 99.2454 no-vmlinux 84 0.4496 EclipseMSW.elf.CVS TIMER:0| samples| %| ------------------ 68 80.9524 EclipseMSW.elf.CVS 15 17.8571 libc-2.6.so 1 1.1905 libEclipsePai.so 35 0.1873 busybox TIMER:0| samples| %| ------------------ 13 37.1429 ld-2.6.so 12 34.2857 busybox 10 28.5714 libc-2.6.so 9 0.0482 oprofiled TIMER:0| samples| %| ------------------ 8 88.8889 oprofiled 1 11.1111 libc-2.6.so 6 0.0321 snmpd TIMER:0| samples| %| ------------------ 4 66.6667 snmpd 2 33.3333 libc-2.6.so 6 0.0321 dropbearmulti TIMER:0| samples| %| ------------------ 4 66.6667 dropbearmulti 2 33.3333 libc-2.6.so 1 0.0054 opjitconv TIMER:0| samples| %| ------------------ 1 100.000 ld-2.6.so > > -Maynard >> On Nov 6, 2009, at 12:00 PM, job...@ao... wrote: >>> I must confess that I had previously altered check_version() to >>> avoid a "Kernel support not available" error I was getting >>> initially because my kernel should support oprofile. So, I went >>> back to the original version and this is what happens when I try >>> to start oprofile after rebooting my board: >>> >>> Eclipse # insmod oprofile.ko >>> Eclipse # /usr/bin/opcontrol --init >>> Kernel support not available, missing opcontrol --init as root ? >>> >>> /etc/mtab is empty. I am doing everything as root. >>> >>> I apologize for having bypassed this error. Should "oprofilefs" >>> appear in /etc/mtab after inmod'ing oprofile.ko and doing >>> opcontrol --init? >>> >>> Sent from my iPhone 3G >>> >>> On Nov 6, 2009, at 10:19 AM, Maynard Johnson <may...@us...> >>> wrote: >>> >>>> Robert Richter wrote: >>>>> On 03.11.09 10:21:40, job...@ao... wrote: >>>>>> I tried that and am still seeing the "bad magic number" error >>>>>> when running opreport and "Invalid argument" entries in >>>>>> oprofiled.log. >>>>>> >>>>>> >>>>>> The commands I am using and part of oprofiled.log follow. Any >>>>>> suggestions? >>>>>> >>>>>> Eclipse # rm /var/lib/oprofile/samples/oprofiled.log >>>>>> Eclipse # rm -rf /var/lib/oprofile/samples/current/ >>>>>> Eclipse # cd /usr/bin/ >>>>>> Eclipse # ./opcontrol --init >>>>>> mount: mounting nodev on /dev/oprofile failed: Device or >>>>>> resource busy >>>>> There is an error mounting oprofilefs, try the following steps to >>>>> debug this: >>>> You need to figure out why the init is failing. Any oprofile >>>> commands you do afterwards are useless until you fix this. It >>>> sounds to me like you still have an oprofile daemon running. Do >>>> 'ps awx |grep oprofiled' to see if the daemon is running. If so, >>>> do: >>>> 1. opcontrol --deinit >>>> 2. rm /root/.oprofile/daemonrc >>>> 3. opcontrol --init >>>> 4. Execute your other opcontrol setup commands to specify >>>> profiling parameters >>>> 5. 'opcontrol --start' and run your app. >>>> 6. generate your report(s) with opreport >>>> >>>> If the 'ps' command shows oprofiled is not running, you need to >>>> determine why you're getting "Device or resource busy". Look at >>>> dmesg. Are there any other perf tools on the system that might >>>> be using the performance monitoring hardware? >>>> >>>> >>>> -Maynard >>>>> First, unmount /dev/oprofile if it is there. >>>>> The script tries to mount the oprofile filesystem that the kernel >>>>> should provide. It checks /proc/filesystems, you should get >>>>> something >>>>> like this on your system: >>>>> # cat /proc/filesystems | grep oprofile >>>>> nodev oprofilefs >>>>> If it is not there, the script tries then to load the oprofile >>>>> module >>>>> and checks the filesystem again. oprofile should then be listed in >>>>> /proc/modules and also oprofilefs in /proc/filesystems. If not, >>>>> the >>>>> script fails. Maybe /proc is disabled or not available? Not sure >>>>> if >>>>> this is a config option. >>>>> You can also try to mount oprofile directly: >>>>> # mkdir /dev/oprofile >>>>> # mount -t oprofilefs nodev /dev/oprofile >>>>> Also, it seems you are using an own build of oprofile, which >>>>> version >>>>> are you using. Did you use configure/make/make install to >>>>> install the >>>>> package on your system? Which config did you use to compile your >>>>> kernel? >>>>> -Robert >>>> >>> = >>> --- >>> --- >>> --- >>> --- >>> ------------------------------------------------------------------ >>> Let Crystal Reports handle the reporting - Free Crystal Reports >>> 2008 30-Day >>> trial. Simplify your report design, integration and deployment - >>> and focus on >>> what you do best, core application coding. Discover what's new with >>> Crystal Reports now. http://p.sf.net/sfu/bobj-july >>> _______________________________________________ >>> oprofile-list mailing list >>> opr...@li... >>> https://lists.sourceforge.net/lists/listinfo/oprofile-list > |