perf mem: Introduce --list-cmds for use by scripts
authorRamkumar Ramachandra <artagnon@gmail.com>
Sat, 15 Mar 2014 03:17:52 +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: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1394853474-31019-3-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-mem.c
tools/perf/perf-completion.sh

index 2e3ade69a58e7f1755ef49de2e47ea819cd9bf60..4a1a6c94a5ebcb5b7a08bef5034f22419ce07c77 100644 (file)
@@ -21,11 +21,6 @@ struct perf_mem {
        DECLARE_BITMAP(cpu_bitmap, MAX_NR_CPUS);
 };
 
-static const char * const mem_usage[] = {
-       "perf mem [<options>] {record <command> |report}",
-       NULL
-};
-
 static int __cmd_record(int argc, const char **argv)
 {
        int rec_argc, i = 0, j;
@@ -220,9 +215,15 @@ int cmd_mem(int argc, const char **argv, const char *prefix __maybe_unused)
                   " between columns '.' is reserved."),
        OPT_END()
        };
+       const char *const mem_subcommands[] = { "record", "report", NULL };
+       const char *mem_usage[] = {
+               NULL,
+               NULL
+       };
+
 
-       argc = parse_options(argc, argv, mem_options, mem_usage,
-                            PARSE_OPT_STOP_AT_NON_OPTION);
+       argc = parse_options_subcommand(argc, argv, mem_options, mem_subcommands,
+                                       mem_usage, PARSE_OPT_STOP_AT_NON_OPTION);
 
        if (!argc || !(strncmp(argv[0], "rec", 3) || mem_operation))
                usage_with_options(mem_usage, mem_options);
index 0ef59dd4c78d83229f13dffeec24552504bc6fd3..f44c04b1015d414e0f8e31d94f5f62b1d6957a12 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) ]]; then
+       elif [[ $prev == @(kvm|kmem|mem) ]]; then
                subcmds=$($cmd $prev --list-cmds)
                __perfcomp_colon "$subcmds" "$cur"
        # List long option names