perf script: Don' t use globals where not needed to
Commit-ID: 69b6470e9ef3f6ea72b7e46e140d85970d8e1bc8 Gitweb: http://git.kernel.org/tip/69b6470e9ef3f6ea72b7e46e140d85970d8e1bc8 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Mon, 1 Oct 2012 15:20:58 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Tue, 2 Oct 2012 18:36:30 -0300
perf script: Don't use globals where not needed to
Some variables were global but used in just one function, so move it to where it belongs.
Cc David Ahern <[email protected]>
Cc Frederic Weisbecker <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Mike Galbraith <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Paul Mackerras <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Stephane Eranian <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/builtin-script.c | 90 ++++++++++++++++++++----------------------- 1 files changed, 42 insertions(+), 48 deletions(-)
tools/perf/builtin-script.c +42 -48
@@ -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 ();