diff options
author | Jiri Olsa <jolsa@redhat.com> | 2013-02-25 10:52:48 +0100 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2013-03-13 16:58:28 -0300 |
commit | e4dd45fe7add0de09e0e5b2b511732d9c86b6ee7 (patch) | |
tree | f33defcdc9c5bc92880c8b01852ba93606663e67 /tools | |
parent | d2f32479e5526a1ab3b4e43910fcb279871524ce (diff) | |
download | linux-3.10-e4dd45fe7add0de09e0e5b2b511732d9c86b6ee7.tar.gz linux-3.10-e4dd45fe7add0de09e0e5b2b511732d9c86b6ee7.tar.bz2 linux-3.10-e4dd45fe7add0de09e0e5b2b511732d9c86b6ee7.zip |
perf record: Fix -C option
Currently the -C option does not work for record command, because of the
targets mismatch when synthesizing threads.
Fixing this by using proper target interface for the synthesize
decision.
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Reported-by: Oleg Nesterov <oleg@redhat.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1361785972-7431-2-git-send-email-jolsa@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/perf/builtin-record.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c index 774c90713a5..f1a939ebc19 100644 --- a/tools/perf/builtin-record.c +++ b/tools/perf/builtin-record.c @@ -573,13 +573,15 @@ static int __cmd_record(struct perf_record *rec, int argc, const char **argv) perf_event__synthesize_guest_os, tool); } - if (!opts->target.system_wide) + if (perf_target__has_task(&opts->target)) err = perf_event__synthesize_thread_map(tool, evsel_list->threads, process_synthesized_event, machine); - else + else if (perf_target__has_cpu(&opts->target)) err = perf_event__synthesize_threads(tool, process_synthesized_event, machine); + else /* command specified */ + err = 0; if (err != 0) goto out_delete_session; |