perf session: Remove last reference to hists struct
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: 2a1731fb85ec96a1f6a326fb2d52cd93494dafa2 Gitweb: http://git.kernel.org/tip/2a1731fb85ec96a1f6a326fb2d52cd93494dafa2 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Fri, 10 Oct 2014 15:49:21 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Tue, 14 Oct 2014 11:41:25 -0300
perf session: Remove last reference to hists struct
Now perf_session doesn't require that the evsels in its evlist are hists containing ones.
Tools that are hists based and want to do per evsel events_stats updates, if at some point this turns into a necessity, should do it in the tool specific code, keeping the session class hists agnostic.
Cc Adrian Hunter <[email protected]>
Cc Borislav Petkov <[email protected]>
Cc David Ahern <[email protected]>
Cc Don Zickus <[email protected]>
Cc Frederic Weisbecker <[email protected]>
Cc Jean Pihet <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Mike Galbraith <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Paul Mackerras <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Stephane Eranian <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/builtin-annotate.c | 1 + tools/perf/builtin-report.c | 1 + tools/perf/util/hist.c | 16 ++++++++++++++++ tools/perf/util/hist.h | 1 + tools/perf/util/session.c | 7 ------- tools/perf/util/session.h | 1 - 6 files changed, 19 insertions(+), 8 deletions(-)
tools/perf/builtin-annotate.c +1 -0
@@ -214,6 +214,7 @@ static int __cmd_annotate(struct perf_annotate *ann)if (dump_trace) {perf_session__fprintf_nr_events (session, stdout); +perf_evlist__fprintf_nr_events (session->evlist, stdout); goto out; }
tools/perf/builtin-report.c +1 -0
@@ -487,6 +487,7 @@ static int __cmd_report(struct report *rep)if (dump_trace) {perf_session__fprintf_nr_events (session, stdout); +perf_evlist__fprintf_nr_events (session->evlist, stdout);return 0 ; } }
tools/perf/util/hist.c +16 -0
@@ -3,6 +3,7 @@#include "hist.h" #include "session.h" #include "sort.h" +#include "evlist.h" #include "evsel.h" #include "annotate.h" #include <math.h>
@@ -1405,6 +1406,21 @@ int hists__link(struct hists *leader, struct hists *other)return 0 ; } + +size_t perf_evlist__fprintf_nr_events (struct perf_evlist *evlist,FILE *fp) +{ +struct perf_evsel *pos; +size_t ret =0 ; + +evlist__for_each (evlist, pos) { + ret +=fprintf (fp,"%s stats:\n" ,perf_evsel__name (pos)); + ret +=events_stats__fprintf (&evsel__hists (pos)->stats, fp); + } + +return ret; +} + +u64 hists__total_period (struct hists *hists) { return symbol_conf.filter_relative ? hists->stats.total_non_filtered_period :
tools/perf/util/hist.h +1 -0
@@ -139,6 +139,7 @@ size_t events_stats__fprintf(struct events_stats *stats, FILE *fp);size_t hists__fprintf (struct hists *hists,bool show_header,int max_rows,int max_cols,float min_pcnt,FILE *fp); +size_t perf_evlist__fprintf_nr_events (struct perf_evlist *evlist,FILE *fp);void hists__filter_by_dso (struct hists *hists);void hists__filter_by_thread (struct hists *hists);
tools/perf/util/session.c +0 -7
@@ -1375,16 +1375,9 @@ size_t perf_session__fprintf_dsos_buildid(struct perf_session *session, FILE *fpsize_t perf_session__fprintf_nr_events (struct perf_session *session,FILE *fp) { -struct perf_evsel *pos;size_t ret =fprintf (fp,"Aggregated stats:\n" ); ret +=events_stats__fprintf (&session->stats, fp); - -evlist__for_each (session->evlist, pos) { - ret +=fprintf (fp,"%s stats:\n" ,perf_evsel__name (pos)); - ret +=events_stats__fprintf (&evsel__hists (pos)->stats, fp); - } -return ret; }
tools/perf/util/session.h +0 -1
@@ -2,7 +2,6 @@#define __PERF_SESSION_H#include "trace-event.h" -#include "hist.h" #include "event.h" #include "header.h" #include "machine.h"