Re: [BUG REPORT] perf tools: x86_64: Broken calllchain when sampling taken at 'callq' instruction

From: Wangnan (F)
Date: Wed Nov 18 2015 - 04:12:04 EST




On 2015/11/18 16:48, Jiri Olsa wrote:
On Wed, Nov 18, 2015 at 03:20:36PM +0800, Wangnan (F) wrote:

SNIP

Then use perf to trace it:

# ./pref record -g -F 9 --call-graph dwarf ./test_dwarf_unwind
# ./perf report --no-children --stdio
...
1.23% test_dwarf_unwi test_dwarf_unwind [.] funcc
|
---funcc
|
|--0.62%-- funcb
| funca
| main
| __libc_start_main
| _start
|
--0.62%-- 0 <-- I applied Jiri's patch in [1] so see this
0,
which indicates a broken call chain.
can't see this case after multiple running your test,
just the 'end-of-the-callchain' zeros

49.14% test_dwarf_unwi [vdso] [.] __vdso_gettimeofday
|
---__vdso_gettimeofday
funcc
funcb
funca
main
__libc_start_main
_start
0

40.78% test_dwarf_unwi [vdso] [.] 0x0000000000000987
|
---0x7ffe28ab7987
__vdso_gettimeofday
funcc
funcb
funca
main
__libc_start_main
_start
0


what kernel do you have?

My kernel is 4.3-rc4.

Please see my reply to Ingo. It is possible a problem related
to hardware and PEBS? Maybe on your system perf never capture
samples on 'callq'? I tested 'cycle' and 'cycle:p', can't get
such samples. Only 'cycles:pp' (the default event) have this
problem.

Thank you.

--
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/