aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-sched.c
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung.kim@lge.com>2013-06-04 01:46:19 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2013-07-12 12:52:35 -0400
commitf36f83f947ede547833e462696893f866df77324 (patch)
tree1eba463cd8663ed9ce65f973bb09f00a4971dda5 /tools/perf/builtin-sched.c
parent45a9ee1b3fa2d8c3fb7a0c7e5a7b77281a4239a6 (diff)
perf sched: Move struct perf_sched definition out of cmd_sched()
For some reason it consumed quite amount of compile time when declared as local variable, and it disappeared when moved out of the function. Moving other variables/tables didn't help. On my system this single-file-change build time reduced from 11s to 3s. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: David Ahern <dsahern@gmail.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@redhat.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/1370324779-16921-1-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/builtin-sched.c')
-rw-r--r--tools/perf/builtin-sched.c41
1 files changed, 21 insertions, 20 deletions
diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
index fed9ae432c16..fba4a940ba31 100644
--- a/tools/perf/builtin-sched.c
+++ b/tools/perf/builtin-sched.c
@@ -1662,28 +1662,29 @@ static int __cmd_record(int argc, const char **argv)
1662 return cmd_record(i, rec_argv, NULL); 1662 return cmd_record(i, rec_argv, NULL);
1663} 1663}
1664 1664
1665static const char default_sort_order[] = "avg, max, switch, runtime";
1666static struct perf_sched sched = {
1667 .tool = {
1668 .sample = perf_sched__process_tracepoint_sample,
1669 .comm = perf_event__process_comm,
1670 .lost = perf_event__process_lost,
1671 .fork = perf_event__process_fork,
1672 .ordered_samples = true,
1673 },
1674 .cmp_pid = LIST_HEAD_INIT(sched.cmp_pid),
1675 .sort_list = LIST_HEAD_INIT(sched.sort_list),
1676 .start_work_mutex = PTHREAD_MUTEX_INITIALIZER,
1677 .work_done_wait_mutex = PTHREAD_MUTEX_INITIALIZER,
1678 .curr_pid = { [0 ... MAX_CPUS - 1] = -1 },
1679 .sort_order = default_sort_order,
1680 .replay_repeat = 10,
1681 .profile_cpu = -1,
1682 .next_shortname1 = 'A',
1683 .next_shortname2 = '0',
1684};
1685
1665int cmd_sched(int argc, const char **argv, const char *prefix __maybe_unused) 1686int cmd_sched(int argc, const char **argv, const char *prefix __maybe_unused)
1666{ 1687{
1667 const char default_sort_order[] = "avg, max, switch, runtime";
1668 struct perf_sched sched = {
1669 .tool = {
1670 .sample = perf_sched__process_tracepoint_sample,
1671 .comm = perf_event__process_comm,
1672 .lost = perf_event__process_lost,
1673 .fork = perf_event__process_fork,
1674 .ordered_samples = true,
1675 },
1676 .cmp_pid = LIST_HEAD_INIT(sched.cmp_pid),
1677 .sort_list = LIST_HEAD_INIT(sched.sort_list),
1678 .start_work_mutex = PTHREAD_MUTEX_INITIALIZER,
1679 .work_done_wait_mutex = PTHREAD_MUTEX_INITIALIZER,
1680 .curr_pid = { [0 ... MAX_CPUS - 1] = -1 },
1681 .sort_order = default_sort_order,
1682 .replay_repeat = 10,
1683 .profile_cpu = -1,
1684 .next_shortname1 = 'A',
1685 .next_shortname2 = '0',
1686 };
1687 const struct option latency_options[] = { 1688 const struct option latency_options[] = {
1688 OPT_STRING('s', "sort", &sched.sort_order, "key[,key2...]", 1689 OPT_STRING('s', "sort", &sched.sort_order, "key[,key2...]",
1689 "sort by key(s): runtime, switch, avg, max"), 1690 "sort by key(s): runtime, switch, avg, max"),