[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4B9F5ABE.7040705@gmail.com>
Date: Tue, 16 Mar 2010 12:17:34 +0200
From: Török Edwin <edwintorok@...il.com>
To: Ingo Molnar <mingo@...e.hu>
CC: Ingo Molnar <mingo@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Paul Mackerras <paulus@...ba.org>, x86@...nel.org,
linux-kernel@...r.kernel.org,
Fr??d??ric Weisbecker <fweisbec@...il.com>,
Arnaldo Carvalho de Melo <acme@...hat.com>
Subject: Re: fix callgraphs of 32-bit processes on 64-bit kernels.
On 03/16/2010 10:47 AM, Ingo Molnar wrote:
> * T??r??k Edwin <edwintorok@...il.com> wrote:
>
>> On 03/15/2010 06:23 PM, T??r??k Edwin wrote:
>>> On 03/15/2010 05:34 PM, T??r??k Edwin wrote:
>>>> It would be good if perf knew how to lookup symbols in kernel modules!
>>> BTW perf report -m -k /home/edwin/builds/linux-2.6/vmlinux doesn't show
>>> the symbols either.
>> I always forget that, unlike every other program, perf doesn't install
>> by default to /usr/local!
>> So I was running the wrong version of perf (from an older kernel), since
>> perf was installed to $HOME/bin (which of course isn't in sudo's path).
>>
>> Sorry for the confusion, the 2.6.33 perf DOES know how to lookup the
>> symbols:
>> 9.92% glxgears [radeon] [k]
>> r600_packet3_check
>> |
>> --- r600_packet3_check
>> |
>> |--96.80%-- r600_cs_parse
>
> Ok, great!
BTW the patch I sent yesterday for tracing 32-bit apps is still needed,
since that is a kernel patch, and it wasn't due to using the wrong perf.
>
> I suspect we could install into /usr/local too. Do you want to send a patch
> for that?
Sent.
BTW I think perf would need some documentation on how to install, and
what packages you need to build everything, what permissions it needs to
run, etc.
1. manpages
For example by default the manpages don't get built and installed, so
perf report --help doesn't work. It needs a 'make man', and 'make
install-man'.
This is fine, because they need asciidoc and xmlto which aren't usually
installed on every system. But there should be some documentation
mentioning this.
2. privileges
I just found out that perf works without root privileges (I just
assumed it needed root, since oprofile needs it).
3. non-working targets?
Also there are some targets in Documentation that can't be built due to
missing files, like pdf which needs a non-existent user-manual.xml.
4. unresolved symbols
Sometimes I get symbol addresses that are not resolved, like this:
57.03% :32216 7fc7dc0acfa6 [.] 0x007fc7dc0acfa6
12.39% :32216 [radeon] [k] r600_packet3_check
4.92% :32216 [radeon] [k] r600_cs_packet_parse
2.70% :32216 [radeon] [k] r600_cs_parse
Is this due to ASLR? Does perf need ASLR disabled?
That address corresponds to this:
7fc7dc07e000-7fc7dc2ef000 r-xp 00000000 fd:03 27713
/opt/xorg/lib/dri/r600_dri.so
It'd of course be nice if there was a distro package for perf, I think
I'll file a RFP in Debian for that.
Best regards,
--Edwin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists