Re: [PATCH] perf sort: only insert overhead && overhead_children when no overhead* field given

From: Du, Changbin
Date: Tue Mar 14 2017 - 22:09:03 EST


hi, Arnaldo,
Seems you missed this one. In some case, sort by 'Children' first doesn't make
sense, bacause I only care the 'Self' overhead.

btw, does perf have a option that only calculate the *real* callee 'overhead_acc'?
I mean only count the samples to parent when it is called by parent. For
example,

fun1 fun2
foo foo

Then the 'overhead_acc' for fun1 should not include the samples that fun2 call foo.
Thanks.
changbin

On Mon, Mar 13, 2017 at 04:36:01PM +0800, changbin.du@xxxxxxxxx wrote:
> From: Changbin Du <changbin.du@xxxxxxxxx>
>
> If we always insert 'overhead' and 'overhead_children' as sort keys,
> this make it impossible to sort as overhead (which displayed as Self)
> first. This patch forbid adding any overhead* field if there is one
> already given.
>
> Signed-off-by: Changbin Du <changbin.du@xxxxxxxxx>
> ---
> tools/perf/util/sort.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
> index b6db140..7695b54 100644
> --- a/tools/perf/util/sort.c
> +++ b/tools/perf/util/sort.c
> @@ -2543,6 +2543,13 @@ static char *setup_overhead(char *keys)
> if (sort__mode == SORT_MODE__DIFF)
> return keys;
>
> + /*
> + * Only insert overhead && overhead_children when
> + * no overhead* field given.
> + */
> + if (strstr(keys, "overhead"))
> + return keys;
> +
> keys = prefix_if_not_in("overhead", keys);
>
> if (symbol_conf.cumulate_callchain)
> --
> 2.7.4
>

--
Thanks,
Changbin Du

Attachment: signature.asc
Description: PGP signature