Re: [PATCH 1/2] perf tui: Only support --tui with slang
From: xaizek
Date: Sun Jan 23 2022 - 16:48:09 EST
Thank you, Ian. The patch works as expected on 5.15.12 (--gtk patch
didn't apply on this revision).
Regards,
xaizek
On Sun, Jan 23, 2022 at 11:18:48AM -0800, Ian Rogers wrote:
> Make the --tui command line flags dependent HAVE_SLANG_SUPPORT. This was
> reported as confusing in:
> https://lore.kernel.org/linux-perf-users/YevaTkzdXmFKdGpc@xxxxxxxxxxxxxxxx/
>
> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
> ---
> tools/perf/builtin-annotate.c | 10 +++++++++-
> tools/perf/builtin-report.c | 10 +++++++++-
> tools/perf/builtin-top.c | 4 ++++
> tools/perf/util/top.h | 5 ++++-
> 4 files changed, 26 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
> index 490bb9b8cf17..5e038d9bab05 100644
> --- a/tools/perf/builtin-annotate.c
> +++ b/tools/perf/builtin-annotate.c
> @@ -46,7 +46,11 @@ struct perf_annotate {
> struct perf_tool tool;
> struct perf_session *session;
> struct annotation_options opts;
> - bool use_tui, use_stdio, use_stdio2, use_gtk;
> +#ifdef HAVE_SLANG_SUPPORT
> + bool use_tui;
> +#endif
> + bool use_stdio, use_stdio2;
> + bool use_gtk;
> bool skip_missing;
> bool has_br_stack;
> bool group_set;
> @@ -503,7 +507,9 @@ int cmd_annotate(int argc, const char **argv)
> OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace,
> "dump raw trace in ASCII"),
> OPT_BOOLEAN(0, "gtk", &annotate.use_gtk, "Use the GTK interface"),
> +#ifdef HAVE_SLANG_SUPPORT
> OPT_BOOLEAN(0, "tui", &annotate.use_tui, "Use the TUI interface"),
> +#endif
> OPT_BOOLEAN(0, "stdio", &annotate.use_stdio, "Use the stdio interface"),
> OPT_BOOLEAN(0, "stdio2", &annotate.use_stdio2, "Use the stdio interface"),
> OPT_BOOLEAN(0, "ignore-vmlinux", &symbol_conf.ignore_vmlinux,
> @@ -624,8 +630,10 @@ int cmd_annotate(int argc, const char **argv)
>
> if (annotate.use_stdio || annotate.use_stdio2)
> use_browser = 0;
> +#ifdef HAVE_SLANG_SUPPORT
> else if (annotate.use_tui)
> use_browser = 1;
> +#endif
> else if (annotate.use_gtk)
> use_browser = 2;
>
> diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
> index 1dd92d8c9279..1ad75c7ba074 100644
> --- a/tools/perf/builtin-report.c
> +++ b/tools/perf/builtin-report.c
> @@ -71,7 +71,11 @@ struct report {
> struct perf_tool tool;
> struct perf_session *session;
> struct evswitch evswitch;
> - bool use_tui, use_gtk, use_stdio;
> +#ifdef HAVE_SLANG_SUPPORT
> + bool use_tui;
> +#endif
> + bool use_gtk;
> + bool use_stdio;
> bool show_full_info;
> bool show_threads;
> bool inverted_callchain;
> @@ -1206,7 +1210,9 @@ int cmd_report(int argc, const char **argv)
> "Show per-thread event counters"),
> OPT_STRING(0, "pretty", &report.pretty_printing_style, "key",
> "pretty printing style key: normal raw"),
> +#ifdef HAVE_SLANG_SUPPORT
> OPT_BOOLEAN(0, "tui", &report.use_tui, "Use the TUI interface"),
> +#endif
> OPT_BOOLEAN(0, "gtk", &report.use_gtk, "Use the GTK2 interface"),
> OPT_BOOLEAN(0, "stdio", &report.use_stdio,
> "Use the stdio interface"),
> @@ -1492,8 +1498,10 @@ int cmd_report(int argc, const char **argv)
>
> if (report.use_stdio)
> use_browser = 0;
> +#ifdef HAVE_SLANG_SUPPORT
> else if (report.use_tui)
> use_browser = 1;
> +#endif
> else if (report.use_gtk)
> use_browser = 2;
>
> diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
> index 1fc390f136dd..e1a134a0a377 100644
> --- a/tools/perf/builtin-top.c
> +++ b/tools/perf/builtin-top.c
> @@ -1486,7 +1486,9 @@ int cmd_top(int argc, const char **argv)
> "display this many functions"),
> OPT_BOOLEAN('U', "hide_user_symbols", &top.hide_user_symbols,
> "hide user symbols"),
> +#ifdef HAVE_SLANG_SUPPORT
> OPT_BOOLEAN(0, "tui", &top.use_tui, "Use the TUI interface"),
> +#endif
> OPT_BOOLEAN(0, "stdio", &top.use_stdio, "Use the stdio interface"),
> OPT_INCR('v', "verbose", &verbose,
> "be more verbose (show counter open errors, etc)"),
> @@ -1667,8 +1669,10 @@ int cmd_top(int argc, const char **argv)
>
> if (top.use_stdio)
> use_browser = 0;
> +#ifdef HAVE_SLANG_SUPPORT
> else if (top.use_tui)
> use_browser = 1;
> +#endif
>
> setup_browser(false);
>
> diff --git a/tools/perf/util/top.h b/tools/perf/util/top.h
> index ff8391208ecd..1c2c0a838430 100644
> --- a/tools/perf/util/top.h
> +++ b/tools/perf/util/top.h
> @@ -33,7 +33,10 @@ struct perf_top {
> int print_entries, count_filter, delay_secs;
> int max_stack;
> bool hide_kernel_symbols, hide_user_symbols, zero;
> - bool use_tui, use_stdio;
> +#ifdef HAVE_SLANG_SUPPORT
> + bool use_tui;
> +#endif
> + bool use_stdio;
> bool vmlinux_warned;
> bool dump_symtab;
> bool stitch_lbr;
> --
> 2.35.0.rc0.227.g00780c9af4-goog