linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [BUG] perf tools: Demangle kernel and kernel module symbols too
@ 2014-09-06 18:46 Jiri Olsa
  2014-09-12 15:22 ` Jiri Olsa
  2014-09-13  3:34 ` Avi Kivity
  0 siblings, 2 replies; 5+ messages in thread
From: Jiri Olsa @ 2014-09-06 18:46 UTC (permalink / raw)
  To: Avi Kivity
  Cc: Arnaldo Carvalho de Melo, linux-kernel, David Ahern,
	Frederic Weisbecker, Namhyung Kim, Paul Mackerras, Peter Zijlstra,
	Stephane Eranian, Jan Stancek

hi,
Jan Stancek found test 1 breakage, probably caused by following patch:
  950b8354716e perf tools: Demangle kernel and kernel module symbols too

it seems to break test 1:
---
[jolsa@krava perf]$ ./perf test -v 1
 1: vmlinux symtab matches kallsyms                        :
--- start ---
test child forked, pid 6288
Looking at the vmlinux_path (6 entries long)

SNIP

0xffffffff8142dba0: diff name v: event_queue virtual table k: __vt_event_queue
0xffffffff8142dc00: diff name v: event_dequeue virtual table k: __vt_event_dequeue
0xffffffff8142dd90: diff name v: event_wait::isra::::part:: virtual table k: __vt_event_wait.isra.0.part.1
---

Avi,
could you please update the tests/vmlinux-kallsyms.c to reflect
the demangle change?

thanks,
jirka

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [BUG] perf tools: Demangle kernel and kernel module symbols too
  2014-09-06 18:46 [BUG] perf tools: Demangle kernel and kernel module symbols too Jiri Olsa
@ 2014-09-12 15:22 ` Jiri Olsa
  2014-09-13  3:34 ` Avi Kivity
  1 sibling, 0 replies; 5+ messages in thread
From: Jiri Olsa @ 2014-09-12 15:22 UTC (permalink / raw)
  To: Avi Kivity
  Cc: Arnaldo Carvalho de Melo, linux-kernel, David Ahern,
	Frederic Weisbecker, Namhyung Kim, Paul Mackerras, Peter Zijlstra,
	Stephane Eranian, Jan Stancek

ping

On Sat, Sep 06, 2014 at 08:46:31PM +0200, Jiri Olsa wrote:
> hi,
> Jan Stancek found test 1 breakage, probably caused by following patch:
>   950b8354716e perf tools: Demangle kernel and kernel module symbols too
> 
> it seems to break test 1:
> ---
> [jolsa@krava perf]$ ./perf test -v 1
>  1: vmlinux symtab matches kallsyms                        :
> --- start ---
> test child forked, pid 6288
> Looking at the vmlinux_path (6 entries long)
> 
> SNIP
> 
> 0xffffffff8142dba0: diff name v: event_queue virtual table k: __vt_event_queue
> 0xffffffff8142dc00: diff name v: event_dequeue virtual table k: __vt_event_dequeue
> 0xffffffff8142dd90: diff name v: event_wait::isra::::part:: virtual table k: __vt_event_wait.isra.0.part.1
> ---
> 
> Avi,
> could you please update the tests/vmlinux-kallsyms.c to reflect
> the demangle change?
> 
> thanks,
> jirka

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [BUG] perf tools: Demangle kernel and kernel module symbols too
  2014-09-06 18:46 [BUG] perf tools: Demangle kernel and kernel module symbols too Jiri Olsa
  2014-09-12 15:22 ` Jiri Olsa
@ 2014-09-13  3:34 ` Avi Kivity
  2014-09-14  9:41   ` Peter Zijlstra
  1 sibling, 1 reply; 5+ messages in thread
From: Avi Kivity @ 2014-09-13  3:34 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: Arnaldo Carvalho de Melo, linux-kernel, David Ahern,
	Frederic Weisbecker, Namhyung Kim, Paul Mackerras, Peter Zijlstra,
	Stephane Eranian, Jan Stancek

On 09/06/2014 09:46 PM, Jiri Olsa wrote:
> hi,
> Jan Stancek found test 1 breakage, probably caused by following patch:
>    950b8354716e perf tools: Demangle kernel and kernel module symbols too
>
> it seems to break test 1:
> ---
> [jolsa@krava perf]$ ./perf test -v 1
>   1: vmlinux symtab matches kallsyms                        :
> --- start ---
> test child forked, pid 6288
> Looking at the vmlinux_path (6 entries long)
>
> SNIP
>
> 0xffffffff8142dba0: diff name v: event_queue virtual table k: __vt_event_queue
> 0xffffffff8142dc00: diff name v: event_dequeue virtual table k: __vt_event_dequeue
> 0xffffffff8142dd90: diff name v: event_wait::isra::::part:: virtual table k: __vt_event_wait.isra.0.part.1
> ---
>
> Avi,
> could you please update the tests/vmlinux-kallsyms.c to reflect
> the demangle change?
>
>

It's not a simple matter of updating the test: the demangler interprets 
name beginning with __vt as C++ mangles names, which of course they aren't.

The only way I see to proceed is to make the demangling optional, 
default off.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [BUG] perf tools: Demangle kernel and kernel module symbols too
  2014-09-13  3:34 ` Avi Kivity
@ 2014-09-14  9:41   ` Peter Zijlstra
  2014-09-14 17:08     ` Avi Kivity
  0 siblings, 1 reply; 5+ messages in thread
From: Peter Zijlstra @ 2014-09-14  9:41 UTC (permalink / raw)
  To: Avi Kivity
  Cc: Jiri Olsa, Arnaldo Carvalho de Melo, linux-kernel, David Ahern,
	Frederic Weisbecker, Namhyung Kim, Paul Mackerras,
	Stephane Eranian, Jan Stancek

On Sat, Sep 13, 2014 at 06:34:37AM +0300, Avi Kivity wrote:

> It's not a simple matter of updating the test: the demangler interprets name
> beginning with __vt as C++ mangles names, which of course they aren't.

Oh, that'll give cute 'problems' in a mixed C/C++ project that just
happens to have __vt names in. Now of course I'm aware that C/C++
'reserve' the __ prefix, which I suppose that makes it less likely in
practise.

> The only way I see to proceed is to make the demangling optional, default
> off.

Seems like a good way out, we could think about adding a language
heuristic that tries and guess the target language and auto enables when
it guesses C++, but that needs to have overrides as well.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [BUG] perf tools: Demangle kernel and kernel module symbols too
  2014-09-14  9:41   ` Peter Zijlstra
@ 2014-09-14 17:08     ` Avi Kivity
  0 siblings, 0 replies; 5+ messages in thread
From: Avi Kivity @ 2014-09-14 17:08 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Jiri Olsa, Arnaldo Carvalho de Melo, linux-kernel, David Ahern,
	Frederic Weisbecker, Namhyung Kim, Paul Mackerras,
	Stephane Eranian, Jan Stancek


On 09/14/2014 12:41 PM, Peter Zijlstra wrote:
> On Sat, Sep 13, 2014 at 06:34:37AM +0300, Avi Kivity wrote:
>
>> It's not a simple matter of updating the test: the demangler interprets name
>> beginning with __vt as C++ mangles names, which of course they aren't.
> Oh, that'll give cute 'problems' in a mixed C/C++ project that just
> happens to have __vt names in. Now of course I'm aware that C/C++
> 'reserve' the __ prefix, which I suppose that makes it less likely in
> practise.

If you have clashes there, perf demangling is the least of your worries.

>> The only way I see to proceed is to make the demangling optional, default
>> off.
> Seems like a good way out, we could think about adding a language
> heuristic that tries and guess the target language and auto enables when
> it guesses C++, but that needs to have overrides as well.

It should be easy to look for common C++ mangled name
prefixes and use that as a guess, but I expect that users
who profile C++ guest kernels (or kernel modules) are
capable of adding the switch themselves.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-09-14 17:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-06 18:46 [BUG] perf tools: Demangle kernel and kernel module symbols too Jiri Olsa
2014-09-12 15:22 ` Jiri Olsa
2014-09-13  3:34 ` Avi Kivity
2014-09-14  9:41   ` Peter Zijlstra
2014-09-14 17:08     ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).