perf tools: Reconstruct sw event with modifiers from perf_event_attr
[root@sandy ~]# perf record -e task-clock:u -a usleep 1
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.482 MB perf.data (~21073 samples) ]
[root@sandy ~]#
Before:
[root@sandy ~]# perf evlist
task-clock
[root@sandy ~]#
After:
[root@sandy ~]# perf evlist
task-clock:u
[root@sandy ~]#
Ditto for other tools.
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-97ltkmj7v23kyhflltf6iz5n@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
index 5bf946a..9ae64d9 100644
--- a/tools/perf/util/evsel.h
+++ b/tools/perf/util/evsel.h
@@ -98,6 +98,8 @@
int __perf_evsel__hw_cache_name(u64 config, char *bf, size_t size);
const char *__perf_evsel__hw_name(u64 config);
+const char *__perf_evsel__sw_name(u64 config);
+
int perf_evsel__name(struct perf_evsel *evsel, char *bf, size_t size);
int perf_evsel__alloc_fd(struct perf_evsel *evsel, int ncpus, int nthreads);