Re: [PATCH] perf symbols: don't use modules or try vmlinux unlessneeded

From: Jamie Iles
Date: Fri Jan 08 2010 - 06:55:00 EST


On Fri, Jan 08, 2010 at 09:36:57AM -0200, Arnaldo Carvalho de Melo wrote:
> Ecanfcan Mon, Jan 04, 2010 at 10:23:54AM +0000, Jamie Iles escreveu:
> > Commit 75be6cf (perf symbols: Make symbol_conf global) does what it says
> > on the tin, but also initialises the member fields use_modules and
> > try_vmlinux_path to true rather than the 'false' value they would have
> > had when symbol_conf was static.
> >
> > When there is no vmlinux on the system and modules loaded, perf top will
> > not show any kernel symbols and perf report will only list raw IP's
> > rather than symbol names. Unloading the modules will allow perf to give
> > normal output.
> >
> > Restore previous behaviour by initialising these fields to false.
>
> James,
>
> I just tried using perf top here in such conditions:
>
[snip]
>
> And it is resolving the kernel symbols.
>
> Maybe some changes I made that aren't yet in Ingo's tree or upstream
> fixed it, can you please try after those patches are merged?
Ok, could you let me know when the relevant ones are in there? From todays
next tree, without the patch I still only get userspace symbols (system loaded
with 'dd if=/dev/zero of=/dev/null' to make sure it's busy):

49.00 17.6% T.276 /root/tools/perf
25.00 9.0% __GI_strcmp /lib/libc-2.8.so
21.00 7.6% symbol_filter /root/tools/perf
17.00 6.1% strncmp /root/tools/perf
...

But with the patch applied output looks good:

597.00 17.0% _raw_spin_unlock_irq [kernel.kallsyms]
589.00 16.8% lock_acquire [kernel.kallsyms]
367.00 10.4% _raw_spin_unlock_irqrestore [kernel.kallsyms]
230.00 6.5% vector_swi [kernel.kallsyms]
122.00 3.5% __memzero [kernel.kallsyms]
71.00 2.0% lock_release [kernel.kallsyms]
...

Jamie
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/