[PATCH 5.10 074/290] perf report: Fix -F for branch & mem modes
From: gregkh@linuxfoundation.org
Date: 2021-03-15 14:16:02
Also in:
lkml
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
From: Ravi Bangoria <redacted>
commit 6740a4e70e5d1b9d8e7fe41fd46dd5656d65dadf upstream.
perf report fails to add valid additional fields with -F when
used with branch or mem modes. Fix it.
Before patch:
$ perf record -b
$ perf report -b -F +srcline_from --stdio
Error:
Invalid --fields key: `srcline_from'
After patch:
$ perf report -b -F +srcline_from --stdio
# Samples: 8K of event 'cycles'
# Event count (approx.): 8784
...
Committer notes:
There was an inversion: when looking at branch stack dimensions (keys)
it was checking if the sort mode was 'mem', not 'branch'.
Fixes: aa6b3c99236b ("perf report: Make -F more strict like -s")
Reported-by: Athira Jajeev <redacted>
Signed-off-by: Ravi Bangoria <redacted>
Reviewed-by: Athira Jajeev <redacted>
Tested-by: Arnaldo Carvalho de Melo <redacted>
Tested-by: Athira Jajeev <redacted>
Cc: Jiri Olsa <redacted>
Cc: Kan Liang <redacted>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lore.kernel.org/lkml/20210304062958.85465-1-ravi.bangoria@linux.ibm.com (local)
Signed-off-by: Arnaldo Carvalho de Melo <redacted>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
tools/perf/util/sort.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/tools/perf/util/sort.c
+++ b/tools/perf/util/sort.c@@ -3003,7 +3003,7 @@ int output_field_add(struct perf_hpp_lis if (strncasecmp(tok, sd->name, strlen(tok))) continue; - if (sort__mode != SORT_MODE__MEMORY) + if (sort__mode != SORT_MODE__BRANCH) return -EINVAL; return __sort_dimension__add_output(list, sd);
@@ -3015,7 +3015,7 @@ int output_field_add(struct perf_hpp_lis if (strncasecmp(tok, sd->name, strlen(tok))) continue; - if (sort__mode != SORT_MODE__BRANCH) + if (sort__mode != SORT_MODE__MEMORY) return -EINVAL; return __sort_dimension__add_output(list, sd);