From: Namhyung Kim Date: Mon, 11 Mar 2013 07:43:15 +0000 (+0900) Subject: perf evlist: Pass struct perf_target to perf_evlist__prepare_workload() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=6ef73ec449af998ca34673636d00decc8e808544;p=linux-beck.git perf evlist: Pass struct perf_target to perf_evlist__prepare_workload() It's a preparation step of removing @opts arg from the function so that it can be used more widely. Signed-off-by: Namhyung Kim Cc: David Ahern Cc: Ingo Molnar Cc: Jiri Olsa Cc: Paul Mackerras Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/1362987798-24969-4-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c index e3261eae0ad7..a80301797e89 100644 --- a/tools/perf/builtin-record.c +++ b/tools/perf/builtin-record.c @@ -474,7 +474,8 @@ static int __cmd_record(struct perf_record *rec, int argc, const char **argv) } if (forks) { - err = perf_evlist__prepare_workload(evsel_list, opts, argv); + err = perf_evlist__prepare_workload(evsel_list, &opts->target, + opts, argv); if (err < 0) { pr_err("Couldn't run the workload!\n"); goto out_delete_session; diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c index 6198eb11e1c6..1de3971437c9 100644 --- a/tools/perf/builtin-trace.c +++ b/tools/perf/builtin-trace.c @@ -461,7 +461,8 @@ static int trace__run(struct trace *trace, int argc, const char **argv) signal(SIGINT, sig_handler); if (forks) { - err = perf_evlist__prepare_workload(evlist, &trace->opts, argv); + err = perf_evlist__prepare_workload(evlist, &trace->opts.target, + &trace->opts, argv); if (err < 0) { printf("Couldn't run the workload!\n"); goto out_delete_evlist; diff --git a/tools/perf/tests/perf-record.c b/tools/perf/tests/perf-record.c index f6ba75a983a8..adf6b4a21a60 100644 --- a/tools/perf/tests/perf-record.c +++ b/tools/perf/tests/perf-record.c @@ -93,7 +93,7 @@ int test__PERF_RECORD(void) * so that we have time to open the evlist (calling sys_perf_event_open * on all the fds) and then mmap them. */ - err = perf_evlist__prepare_workload(evlist, &opts, argv); + err = perf_evlist__prepare_workload(evlist, &opts.target, &opts, argv); if (err < 0) { pr_debug("Couldn't run the workload!\n"); goto out_delete_maps; diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c index 7d71a691b864..291884c804e9 100644 --- a/tools/perf/util/evlist.c +++ b/tools/perf/util/evlist.c @@ -745,6 +745,7 @@ out_err: } int perf_evlist__prepare_workload(struct perf_evlist *evlist, + struct perf_target *target, struct perf_record_opts *opts, const char *argv[]) { @@ -800,7 +801,7 @@ int perf_evlist__prepare_workload(struct perf_evlist *evlist, exit(-1); } - if (perf_target__none(&opts->target)) + if (perf_target__none(target)) evlist->threads->map[0] = evlist->workload.pid; close(child_ready_pipe[1]); diff --git a/tools/perf/util/evlist.h b/tools/perf/util/evlist.h index 9a7b76e3a873..e089906cb4de 100644 --- a/tools/perf/util/evlist.h +++ b/tools/perf/util/evlist.h @@ -86,6 +86,7 @@ void perf_evlist__config(struct perf_evlist *evlist, struct perf_record_opts *opts); int perf_evlist__prepare_workload(struct perf_evlist *evlist, + struct perf_target *target, struct perf_record_opts *opts, const char *argv[]); int perf_evlist__start_workload(struct perf_evlist *evlist);