OSDN Git Service

perf sched: Introduce --list-cmds for use by scripts
authorRamkumar Ramachandra <artagnon@gmail.com>
Sat, 15 Mar 2014 03:17:54 +0000 (23:17 -0400)
committerJiri Olsa <jolsa@redhat.com>
Wed, 16 Apr 2014 15:16:05 +0000 (17:16 +0200)
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Acked-by: David Ahern <dsahern@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1394853474-31019-5-git-send-email-artagnon@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
tools/perf/builtin-sched.c
tools/perf/perf-completion.sh

index 9ac0a49..d3fb0ed 100644 (file)
@@ -1713,8 +1713,10 @@ int cmd_sched(int argc, const char **argv, const char *prefix __maybe_unused)
                "perf sched replay [<options>]",
                NULL
        };
-       const char * const sched_usage[] = {
-               "perf sched [<options>] {record|latency|map|replay|script}",
+       const char *const sched_subcommands[] = { "record", "latency", "map",
+                                                 "replay", "script", NULL };
+       const char *sched_usage[] = {
+               NULL,
                NULL
        };
        struct trace_sched_handler lat_ops  = {
@@ -1736,8 +1738,8 @@ int cmd_sched(int argc, const char **argv, const char *prefix __maybe_unused)
        for (i = 0; i < ARRAY_SIZE(sched.curr_pid); i++)
                sched.curr_pid[i] = -1;
 
-       argc = parse_options(argc, argv, sched_options, sched_usage,
-                            PARSE_OPT_STOP_AT_NON_OPTION);
+       argc = parse_options_subcommand(argc, argv, sched_options, sched_subcommands,
+                                       sched_usage, PARSE_OPT_STOP_AT_NON_OPTION);
        if (!argc)
                usage_with_options(sched_usage, sched_options);
 
index ecedab6..3356984 100644 (file)
@@ -122,7 +122,7 @@ __perf_main ()
                evts=$($cmd list --raw-dump)
                __perfcomp_colon "$evts" "$cur"
        # List subcommands for perf commands
-       elif [[ $prev == @(kvm|kmem|mem|lock) ]]; then
+       elif [[ $prev == @(kvm|kmem|mem|lock|sched) ]]; then
                subcmds=$($cmd $prev --list-cmds)
                __perfcomp_colon "$subcmds" "$cur"
        # List long option names