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...@intel.com wrote:
> From: Changbin Du <changbin...@intel.com>
> 
> 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...@intel.com>
> ---
>  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

Reply via email to