File perf-top-support-group-sort-idx-to-change-the-sort-order.patch of Package perf.23962
From: Jin Yao <yao.jin@linux.intel.com>
Date: Wed, 25 Mar 2020 06:07:10 +0800
Subject: perf top: Support --group-sort-idx to change the sort order
Git-commit: df7deb2cceef0546ab2115702da3421b7c61a8c0
Patch-mainline: v5.7-rc1
References: jsc#SLE-12726
X-Info: adjust for context, no f382842fa0244ae1e2c28c8377732c85ec1fe7a9
X-Info: adjust for context, no 2f53ae347f597842683c4bde5b9ce76f5efae247
'perf report' supports the option --group-sort-idx, which sorts the
output by the event at the index n in event group.
For example:
perf record -e cycles,instructions,cache-misses
perf report --group --group-sort-idx 2 --stdio
The perf-report output is sorted by cache-misses.
This patch supports --group-sort-idx in perf-top.
For example:
perf top --group -e cycles,instructions,cache-misses --group-sort-idx 2
The perf-top output is sorted by cache-misses.
Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
Suggested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jin Yao <yao.jin@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/20200324220711.6025-1-yao.jin@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Tony Jones <tonyj@suse.de>
---
tools/perf/Documentation/perf-top.txt | 5 +++++
tools/perf/builtin-top.c | 4 ++++
2 files changed, 9 insertions(+)
diff --git a/tools/perf/Documentation/perf-top.txt b/tools/perf/Documentation/perf-top.txt
index ddab103af8c7..487737a725e9 100644
--- a/tools/perf/Documentation/perf-top.txt
+++ b/tools/perf/Documentation/perf-top.txt
@@ -53,6 +53,11 @@ Default is to monitor all CPUS.
--group::
Put the counters into a counter group.
+--group-sort-idx::
+ Sort the output by the event at the index n in group. If n is invalid,
+ sort by the first event. It can support multiple groups with different
+ amount of events. WARNING: This should be used on grouped events.
+
-F <freq>::
--freq=<freq>::
Profile at this frequency. Use 'max' to use the currently maximum
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 02ea2cf2a3d9..9ff7943d2014 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -1510,6 +1510,10 @@
"number of thread to run event synthesize"),
OPT_BOOLEAN(0, "namespaces", &opts->record_namespaces,
"Record namespaces events"),
+ OPT_INTEGER(0, "group-sort-idx", &symbol_conf.group_sort_idx,
+ "Sort the output by the event at the index n in group. "
+ "If n is invalid, sort by the first event. "
+ "WARNING: should be used on grouped events."),
OPT_END()
};
struct evlist *sb_evlist = NULL;