linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] perf c2c: Use stdio interface if slang is not supported
@ 2022-05-26 14:54 Leo Yan
  2022-05-26 15:17 ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 2+ messages in thread
From: Leo Yan @ 2022-05-26 14:54 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Peter Zijlstra, Ingo Molnar,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	linux-perf-users, linux-kernel
  Cc: Leo Yan, Joe Mario

If slang lib is not installed on the system, perf c2c tool disables
TUI mode and roll back to use stdio mode;  but the flag 'c2c.use_stdio'
is missed to set true and thus it wrongly applies UI quirks in the
function ui_quirks().

This commit forces to use stdio interface if slang is not supported,
and it can avoid to apply the UI quirks and show the correct metric
header.

Before:

=================================================
      Shared Cache Line Distribution Pareto
=================================================
  -------------------------------------------------------------------------------
      0        0        0       99        0        0        0      0xaaaac17d6000
  -------------------------------------------------------------------------------
    0.00%    0.00%    6.06%    0.00%    0.00%    0.00%   0x20   N/A       0      0xaaaac17c25ac         0         0        43       375    18469         2  [.] 0x00000000000025ac  memstress         memstress[25ac]   0
    0.00%    0.00%   93.94%    0.00%    0.00%    0.00%   0x29   N/A       0      0xaaaac17c3e88         0         0       173       180      135         2  [.] 0x0000000000003e88  memstress         memstress[3e88]   0

After:

=================================================
      Shared Cache Line Distribution Pareto
=================================================
  -------------------------------------------------------------------------------
      0        0        0       99        0        0        0      0xaaaac17d6000
  -------------------------------------------------------------------------------
           0.00%    0.00%    6.06%    0.00%    0.00%    0.00%                0x20   N/A       0      0xaaaac17c25ac         0         0        43       375    18469         2  [.] 0x00000000000025ac  memstress         memstress[25ac]   0
           0.00%    0.00%   93.94%    0.00%    0.00%    0.00%                0x29   N/A       0      0xaaaac17c3e88         0         0       173       180      135         2  [.] 0x0000000000003e88  memstress         memstress[3e88]   0

Fixes: 5a1a99cd2e4e ("perf c2c report: Add main TUI browser")
Reported-by: Joe Mario <jmario@redhat.com>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
---

Changes from v1:
* Added fixes tag;
* Added reported tag from Joe.

 tools/perf/builtin-c2c.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
index c8230c48125f..80b525c065ed 100644
--- a/tools/perf/builtin-c2c.c
+++ b/tools/perf/builtin-c2c.c
@@ -2801,9 +2801,7 @@ static int perf_c2c__report(int argc, const char **argv)
 		   "the input file to process"),
 	OPT_INCR('N', "node-info", &c2c.node_info,
 		 "show extra node info in report (repeat for more info)"),
-#ifdef HAVE_SLANG_SUPPORT
 	OPT_BOOLEAN(0, "stdio", &c2c.use_stdio, "Use the stdio interface"),
-#endif
 	OPT_BOOLEAN(0, "stats", &c2c.stats_only,
 		    "Display only statistic tables (implies --stdio)"),
 	OPT_BOOLEAN(0, "full-symbols", &c2c.symbol_full,
@@ -2833,6 +2831,10 @@ static int perf_c2c__report(int argc, const char **argv)
 	if (argc)
 		usage_with_options(report_c2c_usage, options);
 
+#ifndef HAVE_SLANG_SUPPORT
+	c2c.use_stdio = true;
+#endif
+
 	if (c2c.stats_only)
 		c2c.use_stdio = true;
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] perf c2c: Use stdio interface if slang is not supported
  2022-05-26 14:54 [PATCH v2] perf c2c: Use stdio interface if slang is not supported Leo Yan
@ 2022-05-26 15:17 ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 2+ messages in thread
From: Arnaldo Carvalho de Melo @ 2022-05-26 15:17 UTC (permalink / raw)
  To: Leo Yan
  Cc: Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin,
	Jiri Olsa, Namhyung Kim, linux-perf-users, linux-kernel,
	Joe Mario

Em Thu, May 26, 2022 at 10:54:00PM +0800, Leo Yan escreveu:
> If slang lib is not installed on the system, perf c2c tool disables
> TUI mode and roll back to use stdio mode;  but the flag 'c2c.use_stdio'
> is missed to set true and thus it wrongly applies UI quirks in the
> function ui_quirks().
> 
> This commit forces to use stdio interface if slang is not supported,
> and it can avoid to apply the UI quirks and show the correct metric
> header.
> 
> Before:
> 
> =================================================
>       Shared Cache Line Distribution Pareto
> =================================================
>   -------------------------------------------------------------------------------
>       0        0        0       99        0        0        0      0xaaaac17d6000
>   -------------------------------------------------------------------------------
>     0.00%    0.00%    6.06%    0.00%    0.00%    0.00%   0x20   N/A       0      0xaaaac17c25ac         0         0        43       375    18469         2  [.] 0x00000000000025ac  memstress         memstress[25ac]   0
>     0.00%    0.00%   93.94%    0.00%    0.00%    0.00%   0x29   N/A       0      0xaaaac17c3e88         0         0       173       180      135         2  [.] 0x0000000000003e88  memstress         memstress[3e88]   0
> 
> After:
> 
> =================================================
>       Shared Cache Line Distribution Pareto
> =================================================
>   -------------------------------------------------------------------------------
>       0        0        0       99        0        0        0      0xaaaac17d6000
>   -------------------------------------------------------------------------------
>            0.00%    0.00%    6.06%    0.00%    0.00%    0.00%                0x20   N/A       0      0xaaaac17c25ac         0         0        43       375    18469         2  [.] 0x00000000000025ac  memstress         memstress[25ac]   0
>            0.00%    0.00%   93.94%    0.00%    0.00%    0.00%                0x29   N/A       0      0xaaaac17c3e88         0         0       173       180      135         2  [.] 0x0000000000003e88  memstress         memstress[3e88]   0
> 
> Fixes: 5a1a99cd2e4e ("perf c2c report: Add main TUI browser")
> Reported-by: Joe Mario <jmario@redhat.com>
> Signed-off-by: Leo Yan <leo.yan@linaro.org>

Thanks, applied.

- Arnaldo

> ---
> 
> Changes from v1:
> * Added fixes tag;
> * Added reported tag from Joe.
> 
>  tools/perf/builtin-c2c.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
> index c8230c48125f..80b525c065ed 100644
> --- a/tools/perf/builtin-c2c.c
> +++ b/tools/perf/builtin-c2c.c
> @@ -2801,9 +2801,7 @@ static int perf_c2c__report(int argc, const char **argv)
>  		   "the input file to process"),
>  	OPT_INCR('N', "node-info", &c2c.node_info,
>  		 "show extra node info in report (repeat for more info)"),
> -#ifdef HAVE_SLANG_SUPPORT
>  	OPT_BOOLEAN(0, "stdio", &c2c.use_stdio, "Use the stdio interface"),
> -#endif
>  	OPT_BOOLEAN(0, "stats", &c2c.stats_only,
>  		    "Display only statistic tables (implies --stdio)"),
>  	OPT_BOOLEAN(0, "full-symbols", &c2c.symbol_full,
> @@ -2833,6 +2831,10 @@ static int perf_c2c__report(int argc, const char **argv)
>  	if (argc)
>  		usage_with_options(report_c2c_usage, options);
>  
> +#ifndef HAVE_SLANG_SUPPORT
> +	c2c.use_stdio = true;
> +#endif
> +
>  	if (c2c.stats_only)
>  		c2c.use_stdio = true;
>  
> -- 
> 2.25.1

-- 

- Arnaldo

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-05-26 15:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-26 14:54 [PATCH v2] perf c2c: Use stdio interface if slang is not supported Leo Yan
2022-05-26 15:17 ` Arnaldo Carvalho de Melo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).