perf c2c report: Add c2c related stats stdio output
tip-bot for Jiri Olsa
merge botCommit-ID: 2709b97dc2e250b5365629b99da5aa1cca7708f8 Gitweb: http://git.kernel.org/tip/2709b97dc2e250b5365629b99da5aa1cca7708f8 Author: Jiri Olsa <[email protected]> AuthorDate: Sat, 27 Aug 2016 11:40:23 +0200 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Fri, 21 Oct 2016 10:31:56 -0300
perf c2c report: Add c2c related stats stdio output
Display c2c related configuration options/setup.
So far it's output of monitored events:
$ perf c2c report --stats ...
=================================================
c2c details
=================================================
Events : cpu/mem-loads,ldlat=50/pp
: cpu/mem-stores/pp
Signed-off-by Jiri Olsa <[email protected]>
Cc Andi Kleen <[email protected]>
Cc David Ahern <[email protected]>
Cc Don Zickus <[email protected]>
Cc Joe Mario <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Peter Zijlstra <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/builtin-c2c.c | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-)
tools/perf/builtin-c2c.c +27 -6
@@ -13,6 +13,8 @@#include "tool.h" #include "data.h" #include "sort.h" +#include "evlist.h" +#include "evsel.h" #include <asm/bug.h> #include "ui/browsers/hists.h"
@@ -1893,13 +1895,32 @@ static void print_pareto(FILE *out) } } -static void perf_c2c__hists_fprintf (FILE *out) +static void print_c2c_info (FILE *out,struct perf_session *session) +{ +struct perf_evlist *evlist = session->evlist; +struct perf_evsel *evsel; +bool first = true; + +fprintf (out,"=================================================\n" ); +fprintf (out," c2c details \n" ); +fprintf (out,"=================================================\n" ); + +evlist__for_each_entry (evlist, evsel) { +fprintf (out,"%-36s: %s\n" , first ?" Events" :"" , +perf_evsel__name (evsel)); + first = false; + } +} + +static void perf_c2c__hists_fprintf (FILE *out,struct perf_session *session) {setup_pager ();print_c2c__display_stats (out);fprintf (out,"\n" );print_shared_cacheline_info (out); +fprintf (out,"\n" ); +print_c2c_info (out, session);if (c2c.stats_only)return ;
@@ -2073,18 +2094,18 @@ out: return 0; } -static void perf_c2c_display (void ) +static void perf_c2c_display (struct perf_session *session) {if (c2c.use_stdio) -perf_c2c__hists_fprintf (stdout); +perf_c2c__hists_fprintf (stdout, session);else perf_c2c__hists_browse (&c2c.hists.hists); }#else -static void perf_c2c_display (void ) +static void perf_c2c_display (struct perf_session *session) { use_browser =0 ; -perf_c2c__hists_fprintf (stdout); +perf_c2c__hists_fprintf (stdout, session); }#endif /* HAVE_SLANG_SUPPORT */
@@ -2197,7 +2218,7 @@ static int perf_c2c__report(int argc, const char **argv)ui_quirks (); -perf_c2c_display (); +perf_c2c_display (session); out_session:perf_session__delete (session);