summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/machine.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo2013-11-11 15:28:02 +0100
committerArnaldo Carvalho de Melo2013-11-11 19:56:39 +0100
commit58d925dcede9e8765876707a33a3406011fe1c11 (patch)
treef2fe20989a9d7be863f746d970e999d3f1ec3458 /tools/perf/util/machine.c
parentperf record: Synthesize non-exec MMAP records when --data used (diff)
downloadkernel-qcow2-linux-58d925dcede9e8765876707a33a3406011fe1c11.tar.gz
kernel-qcow2-linux-58d925dcede9e8765876707a33a3406011fe1c11.tar.xz
kernel-qcow2-linux-58d925dcede9e8765876707a33a3406011fe1c11.zip
perf machine: Introduce synthesize_threads method out of open coded equivalent
Further simplifications to be done on following patch, as most tools don't use the callback, using instead just the canned machine__process_event one. Cc: Adrian Hunter <adrian.hunter@intel.com> 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: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/n/tip-r1m0vuuj3cat4bampno9yc8d@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/machine.c')
-rw-r--r--tools/perf/util/machine.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index ce034c183a7e..9f2c61d5a9ed 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1394,3 +1394,15 @@ int machine__for_each_thread(struct machine *machine,
}
return rc;
}
+
+int machine__synthesize_threads(struct machine *machine, struct perf_tool *tool,
+ struct perf_target *target, struct thread_map *threads,
+ perf_event__handler_t process, bool data_mmap)
+{
+ if (perf_target__has_task(target))
+ return perf_event__synthesize_thread_map(tool, threads, process, machine, data_mmap);
+ else if (perf_target__has_cpu(target))
+ return perf_event__synthesize_threads(tool, process, machine, data_mmap);
+ /* command specified */
+ return 0;
+}