]> Pileus Git - ~andy/linux/blobdiff - tools/perf/builtin-script.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux...
[~andy/linux] / tools / perf / builtin-script.c
index 1be843aa1546ed1df603119e3cec193d04cf0673..fb9625083a2ed6d9d4bd25b94bc306895f18d6fc 100644 (file)
@@ -24,7 +24,6 @@ static u64                    last_timestamp;
 static u64                     nr_unordered;
 extern const struct option     record_options[];
 static bool                    no_callchain;
-static bool                    show_full_info;
 static bool                    system_wide;
 static const char              *cpu_list;
 static DECLARE_BITMAP(cpu_bitmap, MAX_NR_CPUS);
@@ -473,8 +472,6 @@ static int cleanup_scripting(void)
        return scripting_ops->stop_script();
 }
 
-static const char *input_name;
-
 static int process_sample_event(struct perf_tool *tool __maybe_unused,
                                union perf_event *event,
                                struct perf_sample *sample,
@@ -1156,20 +1153,40 @@ out:
        return n_args;
 }
 
-static const char * const script_usage[] = {
-       "perf script [<options>]",
-       "perf script [<options>] record <script> [<record-options>] <command>",
-       "perf script [<options>] report <script> [script-args]",
-       "perf script [<options>] <script> [<record-options>] <command>",
-       "perf script [<options>] <top-script> [script-args]",
-       NULL
-};
+static int have_cmd(int argc, const char **argv)
+{
+       char **__argv = malloc(sizeof(const char *) * argc);
+
+       if (!__argv) {
+               pr_err("malloc failed\n");
+               return -1;
+       }
+
+       memcpy(__argv, argv, sizeof(const char *) * argc);
+       argc = parse_options(argc, (const char **)__argv, record_options,
+                            NULL, PARSE_OPT_STOP_AT_NON_OPTION);
+       free(__argv);
 
-static const struct option options[] = {
+       system_wide = (argc == 0);
+
+       return 0;
+}
+
+int cmd_script(int argc, const char **argv, const char *prefix __maybe_unused)
+{
+       bool show_full_info = false;
+       const char *input_name = NULL;
+       char *rec_script_path = NULL;
+       char *rep_script_path = NULL;
+       struct perf_session *session;
+       char *script_path = NULL;
+       const char **__argv;
+       int i, j, err;
+       const struct option options[] = {
        OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace,
                    "dump raw trace in ASCII"),
        OPT_INCR('v', "verbose", &verbose,
-                   "be more verbose (show symbol address, etc)"),
+                "be more verbose (show symbol address, etc)"),
        OPT_BOOLEAN('L', "Latency", &latency_format,
                    "show latency attributes (irqs/preemption disabled, etc)"),
        OPT_CALLBACK_NOOPT('l', "list", NULL, NULL, "list available scripts",
@@ -1179,8 +1196,7 @@ static const struct option options[] = {
                     parse_scriptname),
        OPT_STRING('g', "gen-script", &generate_script_lang, "lang",
                   "generate perf-script.xx script in specified language"),
-       OPT_STRING('i', "input", &input_name, "file",
-                   "input file name"),
+       OPT_STRING('i', "input", &input_name, "file", "input file name"),
        OPT_BOOLEAN('d', "debug-mode", &debug_mode,
                   "do various checks like samples ordering and lost events"),
        OPT_STRING('k', "vmlinux", &symbol_conf.vmlinux_name,
@@ -1195,10 +1211,9 @@ static const struct option options[] = {
                     "comma separated output fields prepend with 'type:'. "
                     "Valid types: hw,sw,trace,raw. "
                     "Fields: comm,tid,pid,time,cpu,event,trace,ip,sym,dso,"
-                    "addr,symoff",
-                    parse_output_fields),
+                    "addr,symoff", parse_output_fields),
        OPT_BOOLEAN('a', "all-cpus", &system_wide,
-                    "system-wide collection from all CPUs"),
+                   "system-wide collection from all CPUs"),
        OPT_STRING('S', "symbols", &symbol_conf.sym_list_str, "symbol[,symbol...]",
                   "only consider these symbols"),
        OPT_STRING('C', "cpu", &cpu_list, "cpu", "list of cpus to profile"),
@@ -1208,37 +1223,16 @@ static const struct option options[] = {
                    "display extended information from perf.data file"),
        OPT_BOOLEAN('\0', "show-kernel-path", &symbol_conf.show_kernel_path,
                    "Show the path of [kernel.kallsyms]"),
-
        OPT_END()
-};
-
-static int have_cmd(int argc, const char **argv)
-{
-       char **__argv = malloc(sizeof(const char *) * argc);
-
-       if (!__argv) {
-               pr_err("malloc failed\n");
-               return -1;
-       }
-
-       memcpy(__argv, argv, sizeof(const char *) * argc);
-       argc = parse_options(argc, (const char **)__argv, record_options,
-                            NULL, PARSE_OPT_STOP_AT_NON_OPTION);
-       free(__argv);
-
-       system_wide = (argc == 0);
-
-       return 0;
-}
-
-int cmd_script(int argc, const char **argv, const char *prefix __maybe_unused)
-{
-       char *rec_script_path = NULL;
-       char *rep_script_path = NULL;
-       struct perf_session *session;
-       char *script_path = NULL;
-       const char **__argv;
-       int i, j, err;
+       };
+       const char * const script_usage[] = {
+               "perf script [<options>]",
+               "perf script [<options>] record <script> [<record-options>] <command>",
+               "perf script [<options>] report <script> [script-args]",
+               "perf script [<options>] <script> [<record-options>] <command>",
+               "perf script [<options>] <top-script> [script-args]",
+               NULL
+       };
 
        setup_scripting();