Re: "perf hists browser: Support flat callchains" appears to have broken parent reporting

From: Arnaldo Carvalho de Melo
Date: Wed Mar 30 2016 - 09:46:43 EST


Em Wed, Mar 30, 2016 at 02:34:18PM +0200, Andres Freund escreveu:
> 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.

humm, at first I thought this would be related to --percent-limit...
What tree/branch are you using? Can you try pressing 'L' to play with
the percent limit?

- Arnaldo

> 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