OSDN Git Service

perf kmem: Introduce --list-cmds for use by scripts
authorRamkumar Ramachandra <artagnon@gmail.com>
Sat, 15 Mar 2014 03:17:51 +0000 (23:17 -0400)
committerJiri Olsa <jolsa@redhat.com>
Wed, 16 Apr 2014 15:16:04 +0000 (17:16 +0200)
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Acked-by: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1394853474-31019-2-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-kmem.c
tools/perf/perf-completion.sh

index 929462a..bd91de0 100644 (file)
@@ -756,11 +756,13 @@ int cmd_kmem(int argc, const char **argv, const char *prefix __maybe_unused)
        OPT_BOOLEAN(0, "raw-ip", &raw_ip, "show raw ip instead of symbol"),
        OPT_END()
        };
-       const char * const kmem_usage[] = {
-               "perf kmem [<options>] {record|stat}",
+       const char *const kmem_subcommands[] = { "record", "stat", NULL };
+       const char *kmem_usage[] = {
+               NULL,
                NULL
        };
-       argc = parse_options(argc, argv, kmem_options, kmem_usage, 0);
+       argc = parse_options_subcommand(argc, argv, kmem_options,
+                                       kmem_subcommands, kmem_usage, 0);
 
        if (!argc)
                usage_with_options(kmem_usage, kmem_options);
index ae3a576..0ef59dd 100644 (file)
@@ -121,8 +121,8 @@ __perf_main ()
        elif [[ $prev == "-e" && "${words[1]}" == @(record|stat|top) ]]; then
                evts=$($cmd list --raw-dump)
                __perfcomp_colon "$evts" "$cur"
-       # List subcommands for 'perf kvm'
-       elif [[ $prev == "kvm" ]]; then
+       # List subcommands for perf commands
+       elif [[ $prev == @(kvm|kmem) ]]; then
                subcmds=$($cmd $prev --list-cmds)
                __perfcomp_colon "$subcmds" "$cur"
        # List long option names