This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH -tip perf/probes 00/10] x86 insn decoder bugfixes
- From: Josh Stone <jistone at redhat dot com>
- To: Masami Hiramatsu <mhiramat at redhat dot com>
- Cc: Ingo Molnar <mingo at elte dot hu>, Arnaldo Carvalho de Melo <acme at redhat dot com>, Frédéric Weisbecker <fweisbec at gmail dot com>, lkml <linux-kernel at vger dot kernel dot org>, Steven Rostedt <rostedt at goodmis dot org>, Jim Keniston <jkenisto at us dot ibm dot com>, Ananth N Mavinakayanahalli <ananth at in dot ibm dot com>, Christoph Hellwig <hch at infradead dot org>, "Frank Ch. Eigler" <fche at redhat dot com>, "H. Peter Anvin" <hpa at zytor dot com>, Jason Baron <jbaron at redhat dot com>, "K.Prasad" <prasad at linux dot vnet dot ibm dot com>, Peter Zijlstra <peterz at infradead dot org>, Srikar Dronamraju <srikar at linux dot vnet dot ibm dot com>, systemtap <systemtap at sources dot redhat dot com>, DLE <dle-develop at lists dot sourceforge dot net>
- Date: Thu, 29 Oct 2009 13:25:39 -0700
- Subject: Re: [PATCH -tip perf/probes 00/10] x86 insn decoder bugfixes
- References: <20091027204156.30545.96425.stgit@harusame> <20091029085348.GD26970@elte.hu> <4AE9C919.4070003@redhat.com> <4AE9F6BF.8000501@redhat.com>
On 10/29/2009 01:10 PM, Masami Hiramatsu wrote:
> Masami Hiramatsu wrote:
>> Ingo Molnar wrote:
>>> Another problem i noticed is that a vmlinux without DEBUG_INFO will fail
>>> in this way:
>>>
>>> aldebaran:~/linux/linux> perf probe schedule
>>> Fatal: Failed to call dwarf_init(). Maybe, not a dwarf file.
>>
>> Ah, really? I think I broke need_dwarf logic somehow...
>
> Hmm, I've found that is for searching (implicitly) inlined symbols,
> this means "the behavior is by (bad) design" :-(
>
> I think it should be search the symbol in Elf (or kallsyms) first,
> and only if it fails, use Dwarf for searching the symbol again.
>
> Or, it may be enough that just trying to setup probe and if it fails
> use Dwarf. This way doesn't require any vmlinux access.
Just beware that functions can exist in the symbol table and as inlines
at the same time. For example, we've seen compat_sys_recvmsg get
inlined into compat_sys_socketcall, while it's still compiled as a
standalone function too. So if you have the dwarf, you should still try
to see if inlined versions exist.
Josh