"perf hists browser: Support flat callchains" appears to have broken parent reporting
From: Andres Freund
Date: Wed Mar 30 2016 - 08:43:34 EST
Hi,
4b3a3212233a - "perf hists browser: Support flat callchains" seems to
have broken callchain display in tui mode when using !flat mode, or at
least changed it in an unintended manner.
Llooking at the same perf.data file:
perf report --tui --no-children -g
before:
- 16.69% swapper [kernel.kallsyms] [k] poll_idle
- poll_idle
+ 16.65% cpuidle_enter_state
+ 0.04% cpuidle_enter
- 3.51% swapper [kernel.kallsyms] [k] intel_idle
- intel_idle
+ 3.49% cpuidle_enter_state
+ 0.03% cpuidle_enter
- 1.35% postgres postgres [.] hash_search_with_hash_value
- hash_search_with_hash_value
- 0.32% BufTableLookup
+ ReadBuffer_common
- 0.18% LockAcquireExtended
+ 0.16% LockRelationOid
+ 0.02% XactLockTableInsert
+ 0.14% FetchPreparedStatement
+ 0.13% CreatePortal
+ 0.11% RelationIdGetRelation
+ 0.10% GetPortalByName
after:
- 16.69% swapper [kernel.kallsyms] [k] poll_idle
poll_idle
- 3.51% swapper [kernel.kallsyms] [k] intel_idle
intel_idle
- 1.35% postgres postgres [.] hash_search_with_hash_value
hash_search_with_hash_value
- 1.18% postgres postgres [.] AllocSetAlloc
AllocSetAlloc
- 0.85% postgres libc-2.22.so [.] __memcpy_sse2_unaligned
__memcpy_sse2_unaligned
as you can see after the aforementioned commit there's only one level of
callers reported.
--stdio output isn't affected.
I can provide an example perf.data file, but it apears to reproduce with
just about any profile here.
Greetings,
Andres Freund