perf sched: Make struct perf_sched sched a local variable
authorAdrian Hunter <adrian.hunter@intel.com>
Tue, 22 Oct 2013 07:34:15 +0000 (10:34 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 23 Oct 2013 13:24:19 +0000 (10:24 -0300)
Change "struct perf_sched sched" from being global to being local.

The build slowdown cured by f36f83f947ed is dealt with in the following
patch, by programatically setting perf_sched.curr_pid.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Acked-by: David Ahern <dsahern@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1382427258-17495-12-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-sched.c

index 5a46b10..5a33856 100644 (file)
@@ -1655,29 +1655,28 @@ static int __cmd_record(int argc, const char **argv)
        return cmd_record(i, rec_argv, NULL);
 }
 
-static const char default_sort_order[] = "avg, max, switch, runtime";
-static struct perf_sched sched = {
-       .tool = {
-               .sample          = perf_sched__process_tracepoint_sample,
-               .comm            = perf_event__process_comm,
-               .lost            = perf_event__process_lost,
-               .fork            = perf_sched__process_fork_event,
-               .ordered_samples = true,
-       },
-       .cmp_pid              = LIST_HEAD_INIT(sched.cmp_pid),
-       .sort_list            = LIST_HEAD_INIT(sched.sort_list),
-       .start_work_mutex     = PTHREAD_MUTEX_INITIALIZER,
-       .work_done_wait_mutex = PTHREAD_MUTEX_INITIALIZER,
-       .curr_pid             = { [0 ... MAX_CPUS - 1] = -1 },
-       .sort_order           = default_sort_order,
-       .replay_repeat        = 10,
-       .profile_cpu          = -1,
-       .next_shortname1      = 'A',
-       .next_shortname2      = '0',
-};
-
 int cmd_sched(int argc, const char **argv, const char *prefix __maybe_unused)
 {
+       const char default_sort_order[] = "avg, max, switch, runtime";
+       struct perf_sched sched = {
+               .tool = {
+                       .sample          = perf_sched__process_tracepoint_sample,
+                       .comm            = perf_event__process_comm,
+                       .lost            = perf_event__process_lost,
+                       .fork            = perf_sched__process_fork_event,
+                       .ordered_samples = true,
+               },
+               .cmp_pid              = LIST_HEAD_INIT(sched.cmp_pid),
+               .sort_list            = LIST_HEAD_INIT(sched.sort_list),
+               .start_work_mutex     = PTHREAD_MUTEX_INITIALIZER,
+               .work_done_wait_mutex = PTHREAD_MUTEX_INITIALIZER,
+               .curr_pid             = { [0 ... MAX_CPUS - 1] = -1 },
+               .sort_order           = default_sort_order,
+               .replay_repeat        = 10,
+               .profile_cpu          = -1,
+               .next_shortname1      = 'A',
+               .next_shortname2      = '0',
+       };
        const struct option latency_options[] = {
        OPT_STRING('s', "sort", &sched.sort_order, "key[,key2...]",
                   "sort by key(s): runtime, switch, avg, max"),