aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/perf.c
diff options
context:
space:
mode:
authorGravatar Michael Petlan <mpetlan@redhat.com> 2022-04-05 00:15:41 +0200
committerGravatar Arnaldo Carvalho de Melo <acme@redhat.com> 2022-04-09 14:21:00 -0300
commit3e6b43beb7b56ac6fd376c84f06d90ded73a2788 (patch)
treee1574d489ed03ae1a22ec3a139a15ce40938135e /tools/perf/perf.c
parentperf docs: Add perf-iostat link to manpages (diff)
downloadlinux-3e6b43beb7b56ac6fd376c84f06d90ded73a2788.tar.gz
linux-3e6b43beb7b56ac6fd376c84f06d90ded73a2788.tar.bz2
linux-3e6b43beb7b56ac6fd376c84f06d90ded73a2788.zip
perf tools: Add external commands to list-cmds
The `perf --list-cmds` output prints only internal commands, although there is no reason for that from users' perspective. Adding the external commands to commands array with NULL function pointer allows printing all perf commands while not changing the logic of command handler selection. Signed-off-by: Michael Petlan <mpetlan@redhat.com> Acked-by: Ian Rogers <irogers@google.com> Cc: Jiri Olsa <jolsa@kernel.org> Link: https://lore.kernel.org/r/20220404221541.30312-2-mpetlan@redhat.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/perf.c')
-rw-r--r--tools/perf/perf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/perf/perf.c b/tools/perf/perf.c
index 6aae7b6c376b..0170cb0819d6 100644
--- a/tools/perf/perf.c
+++ b/tools/perf/perf.c
@@ -55,6 +55,7 @@ struct cmd_struct {
};
static struct cmd_struct commands[] = {
+ { "archive", NULL, 0 },
{ "buildid-cache", cmd_buildid_cache, 0 },
{ "buildid-list", cmd_buildid_list, 0 },
{ "config", cmd_config, 0 },
@@ -62,6 +63,7 @@ static struct cmd_struct commands[] = {
{ "diff", cmd_diff, 0 },
{ "evlist", cmd_evlist, 0 },
{ "help", cmd_help, 0 },
+ { "iostat", NULL, 0 },
{ "kallsyms", cmd_kallsyms, 0 },
{ "list", cmd_list, 0 },
{ "record", cmd_record, 0 },
@@ -360,6 +362,8 @@ static void handle_internal_command(int argc, const char **argv)
for (i = 0; i < ARRAY_SIZE(commands); i++) {
struct cmd_struct *p = commands+i;
+ if (p->fn == NULL)
+ continue;
if (strcmp(p->cmd, cmd))
continue;
exit(run_builtin(p, argc, argv));