|
From: | Rob Savoye |
Subject: | Re: [Gnash-dev] oprofile difficulties, easy access to debuginfo, and other thoughts |
Date: | Fri, 16 Oct 2009 10:39:21 -0600 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.4pre) Gecko/20090922 Fedora/3.0-2.7.b4.fc11 Thunderbird/3.0b4 |
On 10/14/09 14:40, Bernie Innocenti wrote:
In oprof_start, enable call graphs and set the path to your elf vmlinux image (/usr/lib/debug/lib/modules/2.6.31.1-56.fc12.x86_64/vmlinux in my case).
Ok after a few frustrating days, I've gotten oprofile to work. Bizarrely, it crashed another system I was working on. Here's a log I made from a YouTube video with callgraphs and symbol info. Now anyone motivated should be able to get started on tracking down performance issues.
http://www.gnashdev.org/testcases/oprof_gnash_all.logI'll add some notes on getting oprofile working, like make sure you have sufficient disk space! And don't forget to turn the daemon off, or you need even more disk space...
Memset() is often used to set a newly allocated buffer to zeros to make debugging easier, but can also be a performance hog.How do we turn off this behavior? By defining NDEBUG?
Interesting enough, none of the memset() was in any of the debugging code I was originally thinking of. :-) I will start adding NDEBUG though in the appropriate places.
I think I got the debug symbols all right even from the Fedora rpm. The problem was just with oprofile... as if gnash did something that would break oprofile. Something like multi-threading, perhaps?
I seemed to have no problem with multi-threading and oprofile. I've updated the gnash.spec file in Gnash trunk, it builds rpms just fine now, including a working debuginfo package. (which appeared to always be ok anyway). I've also been hacking on the Gnash Debian packaging files, and after one more test (adjusting dependencies) I'll check them in. I can now building the gnash-dbg package. The rpm and deb snapshots I've uploaded to http://www.getgnash.org under fedora and karmic snapshots. (both 32bit)
My oprofile runs were built from trunk using "-g -O2", which worked just fine. I've still failed to get oprofile working on the XO 1.5, I get many errors about not specifying events, and other problems.
- rob -
[Prev in Thread] | Current Thread | [Next in Thread] |