linux/tools/perf
Jin Yao 8caa8b36f8 perf report: Fix incorrectly added dimensions as switch perf data file
commit 0feba17bd7 upstream.

We observed an issue that was some extra columns displayed after switching
perf data file in browser. The steps to reproduce:

1. perf record -a -e cycles,instructions -- sleep 3
2. perf report --group
3. In browser, we use hotkey 's' to switch to another perf.data
4. Now in browser, the extra columns 'Self' and 'Children' are displayed.

The issue is setup_sorting() executed again after repeat path, so dimensions
are added again.

This patch checks the last key returned from __cmd_report(). If it's
K_SWITCH_INPUT_DATA, skips the setup_sorting().

Fixes: ad0de0971b ("perf report: Enable the runtime switching of perf data file")
Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Feng Tang <feng.tang@intel.com>
Cc: Jin Yao <yao.jin@intel.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/20191220013722.20592-1-yao.jin@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-01-23 08:21:30 +01:00
..
arch perf tools: Propagate get_cpuid() error 2019-11-06 13:05:42 +01:00
bench perf bench numa: Fix cpu0 binding 2019-08-29 08:28:36 +02:00
Documentation perf config: Fix an error in the config template documentation 2019-04-20 09:15:57 +02:00
examples/bpf
include/bpf
jvmti perf jvmti: Address gcc string overflow warning for strncpy() 2019-07-26 09:14:04 +02:00
pmu-events perf jevents: Fix resource leak in process_mapfile() and main() 2019-12-31 16:35:43 +01:00
python
scripts
tests perf tests: Disable bp_signal testing for arm64 2019-12-31 16:35:21 +01:00
trace perf trace beauty ioctl: Fix off-by-one error in cmd->string table 2019-10-05 13:09:50 +02:00
ui perf hists browser: Fix potential NULL pointer dereference found by the smatch tool 2019-07-31 07:27:06 +02:00
util perf hists: Fix variable name's inconsistency in hists__for_each() macro 2020-01-23 08:21:30 +01:00
.gitignore
Build
builtin-annotate.c
builtin-bench.c
builtin-buildid-cache.c
builtin-buildid-list.c
builtin-c2c.c perf c2c: Fix memory leak in build_cl_output() 2019-11-10 11:27:24 +01:00
builtin-config.c
builtin-data.c
builtin-diff.c
builtin-evlist.c
builtin-ftrace.c perf ftrace: Fix failure to set cpumask when only one cpu is present 2019-08-29 08:28:46 +02:00
builtin-help.c perf help: Remove needless use of strncpy() 2019-07-03 13:14:41 +02:00
builtin-inject.c
builtin-kallsyms.c
builtin-kmem.c perf kmem: Fix memory leak in compact_gfp_flags() 2019-11-10 11:27:25 +01:00
builtin-kvm.c perf tools: Propagate get_cpuid() error 2019-11-06 13:05:42 +01:00
builtin-list.c
builtin-lock.c
builtin-mem.c
builtin-probe.c perf probe: Avoid calling freeing routine multiple times for same pointer 2019-08-16 10:12:48 +02:00
builtin-record.c
builtin-report.c perf report: Fix incorrectly added dimensions as switch perf data file 2020-01-23 08:21:30 +01:00
builtin-sched.c
builtin-script.c perf script: Fix brstackinsn for AUXTRACE 2020-01-04 19:13:13 +01:00
builtin-stat.c perf stat: Reset previous counts on repeat with interval 2019-10-11 18:21:29 +02:00
builtin-timechart.c perf tools: Add missing open_memstream() prototype for systems lacking it 2019-01-26 09:32:41 +01:00
builtin-top.c perf top: Fix potential NULL pointer dereference detected by the smatch tool 2019-07-31 07:27:06 +02:00
builtin-trace.c perf trace: Support multiple "vfs_getname" probes 2019-03-13 14:02:37 -07:00
builtin-version.c perf version: Fix segfault due to missing OPT_END() 2019-08-06 19:06:50 +02:00
builtin.h
check-headers.sh tools include: Adopt linux/bits.h 2019-04-27 09:36:40 +02:00
command-list.txt
CREDITS
design.txt
Makefile
Makefile.config perf build: Add detection of java-11-openjdk-devel package 2019-10-11 18:21:22 +02:00
Makefile.perf
MANIFEST
perf-archive.sh
perf-completion.sh
perf-read-vdso.c
perf-sys.h
perf-with-kcore.sh
perf.c perf config: Honour $PERF_CONFIG env var to specify alternate .perfconfig 2019-10-05 13:09:40 +02:00
perf.h perf tools: Increase MAX_NR_CPUS and MAX_CACHES 2019-07-26 09:14:12 +02:00