lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <tip-1cb8bdcca0e2f738a492c3857568cf34ba4a4373@git.kernel.org> Date: Thu, 14 Aug 2014 01:46:39 -0700 From: tip-bot for Namhyung Kim <tipbot@...or.com> To: linux-tip-commits@...r.kernel.org Cc: acme@...hat.com, linux-kernel@...r.kernel.org, paulus@...ba.org, hpa@...or.com, mingo@...nel.org, jolsa@...nel.org, a.p.zijlstra@...llo.nl, minchan@...nel.org, namhyung.kim@....com, namhyung@...nel.org, jolsa@...hat.com, adrian.hunter@...el.com, dsahern@...il.com, tglx@...utronix.de Subject: [tip:perf/core] perf inject: Move session handling out of __cmd_inject() Commit-ID: 1cb8bdcca0e2f738a492c3857568cf34ba4a4373 Gitweb: http://git.kernel.org/tip/1cb8bdcca0e2f738a492c3857568cf34ba4a4373 Author: Namhyung Kim <namhyung@...nel.org> AuthorDate: Tue, 12 Aug 2014 15:40:37 +0900 Committer: Arnaldo Carvalho de Melo <acme@...hat.com> CommitDate: Wed, 13 Aug 2014 16:32:39 -0300 perf inject: Move session handling out of __cmd_inject() This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@...nel.org> Acked-by: Jiri Olsa <jolsa@...nel.org> Cc: Adrian Hunter <adrian.hunter@...el.com> Cc: David Ahern <dsahern@...il.com> Cc: Ingo Molnar <mingo@...nel.org> Cc: Jiri Olsa <jolsa@...hat.com> Cc: Minchan Kim <minchan@...nel.org> Cc: Namhyung Kim <namhyung.kim@....com> Cc: Paul Mackerras <paulus@...ba.org> Cc: Peter Zijlstra <a.p.zijlstra@...llo.nl> Link: http://lkml.kernel.org/r/1407825645-24586-6-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@...hat.com> --- tools/perf/builtin-inject.c | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c index ee875cc..18eaefd 100644 --- a/tools/perf/builtin-inject.c +++ b/tools/perf/builtin-inject.c @@ -23,6 +23,7 @@ struct perf_inject { struct perf_tool tool; + struct perf_session *session; bool build_ids; bool sched_stat; const char *input_name; @@ -340,12 +341,8 @@ static int perf_evsel__check_stype(struct perf_evsel *evsel, static int __cmd_inject(struct perf_inject *inject) { - struct perf_session *session; int ret = -EINVAL; - struct perf_data_file file = { - .path = inject->input_name, - .mode = PERF_DATA_MODE_READ, - }; + struct perf_session *session = inject->session; struct perf_data_file *file_out = &inject->output; signal(SIGINT, sig_handler); @@ -357,10 +354,6 @@ static int __cmd_inject(struct perf_inject *inject) inject->tool.tracing_data = perf_event__repipe_tracing_data; } - session = perf_session__new(&file, true, &inject->tool); - if (session == NULL) - return -ENOMEM; - if (inject->build_ids) { inject->tool.sample = perf_event__inject_buildid; } else if (inject->sched_stat) { @@ -396,8 +389,6 @@ static int __cmd_inject(struct perf_inject *inject) perf_session__write_header(session, session->evlist, file_out->fd, true); } - perf_session__delete(session); - return ret; } @@ -427,6 +418,11 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused) .mode = PERF_DATA_MODE_WRITE, }, }; + struct perf_data_file file = { + .mode = PERF_DATA_MODE_READ, + }; + int ret; + const struct option options[] = { OPT_BOOLEAN('b', "build-ids", &inject.build_ids, "Inject build-ids into the output stream"), @@ -461,8 +457,17 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused) return -1; } + file.path = inject.input_name; + inject.session = perf_session__new(&file, true, &inject.tool); + if (inject.session == NULL) + return -ENOMEM; + if (symbol__init() < 0) return -1; - return __cmd_inject(&inject); + ret = __cmd_inject(&inject); + + perf_session__delete(inject.session); + + return ret; } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists