On Tue, May 10, 2016 at 09:48:19PM +0900, Namhyung Kim wrote:
> The commit b97511c5bc94 ("perf tools: Add overhead/overhead_children
> keys defaults via string") moved initialization of column headers but it
> missed to check the sort__mode.  As 'perf diff' doesn't call
> perf_hpp__init(), the setup_overhead() also should not be called.
> 
> Before:
> 
>   # Baseline    Delta  Children  Overhead  Shared Object        Symbol
>   # ........  .......  ........  ........  ...................  
> .......................
>   #
>       28.48%  -28.47%    28.48%    28.48%  [kernel.vmlinux ]    [k] intel_idle
>       11.51%  -11.47%    11.51%    11.51%  libxul.so            [.] 
> 0x0000000001a360f7
>        3.49%   -3.49%     3.49%     3.49%  [kernel.vmlinux]     [k] 
> generic_exec_single
>        2.91%   -2.89%     2.91%     2.91%  libdbus-1.so.3.8.11  [.] 
> 0x000000000000cdc2
>        2.86%   -2.85%     2.86%     2.86%  libxcb.so.1.1.0      [.] 
> 0x000000000000c890
>        2.44%   -2.39%     2.44%     2.44%  [kernel.vmlinux]     [k] 
> perf_event_aux_ctx
> 
> After:
> 
>   # Baseline    Delta  Shared Object        Symbol
>   # ........  .......  ...................  .......................
>   #
>       28.48%  -28.47%  [kernel.vmlinux]     [k] intel_idle
>       11.51%  -11.47%  libxul.so            [.] 0x0000000001a360f7
>        3.49%   -3.49%  [kernel.vmlinux]     [k] generic_exec_single
>        2.91%   -2.89%  libdbus-1.so.3.8.11  [.] 0x000000000000cdc2
>        2.86%   -2.85%  libxcb.so.1.1.0      [.] 0x000000000000c890
>        2.44%   -2.39%  [kernel.vmlinux]     [k] perf_event_aux_ctx
> 
> Cc: stable <[email protected]>  # 4.5
> Signed-off-by: Namhyung Kim <[email protected]>

Acked-by: Jiri Olsa <[email protected]>

thanks,
jirka

> ---
>  tools/perf/util/sort.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
> index 772e2e461ec3..20e69edd5006 100644
> --- a/tools/perf/util/sort.c
> +++ b/tools/perf/util/sort.c
> @@ -2438,6 +2438,9 @@ static char *prefix_if_not_in(const char *pre, char 
> *str)
>  
>  static char *setup_overhead(char *keys)
>  {
> +     if (sort__mode == SORT_MODE__DIFF)
> +             return keys;
> +
>       keys = prefix_if_not_in("overhead", keys);
>  
>       if (symbol_conf.cumulate_callchain)
> -- 
> 2.8.2
> 

Reply via email to