From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, Jiri Olsa <jolsa@kernel.org>,
David Ahern <dsahern@gmail.com>,
Namhyung Kim <namhyung@kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 25/29] perf hists: Introduce hists__for_each_format macro
Date: Wed, 3 Feb 2016 13:34:14 -0300 [thread overview]
Message-ID: <1454517258-12360-26-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1454517258-12360-1-git-send-email-acme@kernel.org>
See http://www.infradead.org/rpr.html
From: Jiri Olsa <jolsa@kernel.org>
With the hist object having the perf_hpp_list we can now iterate output
format entries based in the hists object. Adding hists__for_each_format
macro to do that.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1453109064-1026-26-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/ui/browsers/hists.c | 8 ++++----
tools/perf/ui/gtk/hists.c | 6 +++---
tools/perf/ui/hist.c | 2 +-
tools/perf/ui/stdio/hist.c | 8 ++++----
tools/perf/util/hist.h | 3 +++
5 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index df0aedfaea75..3a1e0965a8fd 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -1095,7 +1095,7 @@ static int hist_browser__show_entry(struct hist_browser *browser,
hist_browser__gotorc(browser, row, 0);
- perf_hpp_list__for_each_format(&perf_hpp_list, fmt) {
+ hists__for_each_format(browser->hists, fmt) {
if (perf_hpp__should_skip(fmt, entry->hists) ||
column++ < browser->b.horiz_scroll)
continue;
@@ -1175,7 +1175,7 @@ static int hists_browser__scnprintf_headers(struct hist_browser *browser, char *
return ret;
}
- perf_hpp_list__for_each_format(&perf_hpp_list, fmt) {
+ hists__for_each_format(browser->hists, fmt) {
if (perf_hpp__should_skip(fmt, hists) || column++ < browser->b.horiz_scroll)
continue;
@@ -1441,7 +1441,7 @@ static int hist_browser__fprintf_entry(struct hist_browser *browser,
if (symbol_conf.use_callchain)
printed += fprintf(fp, "%c ", folded_sign);
- perf_hpp_list__for_each_format(&perf_hpp_list, fmt) {
+ hists__for_each_format(browser->hists, fmt) {
if (perf_hpp__should_skip(fmt, he->hists))
continue;
@@ -2104,7 +2104,7 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
memset(options, 0, sizeof(options));
memset(actions, 0, sizeof(actions));
- perf_hpp_list__for_each_format(&perf_hpp_list, fmt) {
+ hists__for_each_format(browser->hists, fmt) {
perf_hpp__reset_width(fmt, hists);
/*
* This is done just once, and activates the horizontal scrolling
diff --git a/tools/perf/ui/gtk/hists.c b/tools/perf/ui/gtk/hists.c
index eca5151f91d7..32cc38a5b57f 100644
--- a/tools/perf/ui/gtk/hists.c
+++ b/tools/perf/ui/gtk/hists.c
@@ -306,7 +306,7 @@ static void perf_gtk__show_hists(GtkWidget *window, struct hists *hists,
nr_cols = 0;
- perf_hpp_list__for_each_format(&perf_hpp_list, fmt)
+ hists__for_each_format(hists, fmt)
col_types[nr_cols++] = G_TYPE_STRING;
store = gtk_tree_store_newv(nr_cols, col_types);
@@ -317,7 +317,7 @@ static void perf_gtk__show_hists(GtkWidget *window, struct hists *hists,
col_idx = 0;
- perf_hpp_list__for_each_format(&perf_hpp_list, fmt) {
+ hists__for_each_format(hists, fmt) {
if (perf_hpp__should_skip(fmt, hists))
continue;
@@ -367,7 +367,7 @@ static void perf_gtk__show_hists(GtkWidget *window, struct hists *hists,
col_idx = 0;
- perf_hpp_list__for_each_format(&perf_hpp_list, fmt) {
+ hists__for_each_format(hists, fmt) {
if (perf_hpp__should_skip(fmt, h->hists))
continue;
diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c
index 8075d4cc54a8..1ba4117d9c2d 100644
--- a/tools/perf/ui/hist.c
+++ b/tools/perf/ui/hist.c
@@ -622,7 +622,7 @@ unsigned int hists__sort_list_width(struct hists *hists)
bool first = true;
struct perf_hpp dummy_hpp;
- perf_hpp_list__for_each_format(&perf_hpp_list, fmt) {
+ hists__for_each_format(hists, fmt) {
if (perf_hpp__should_skip(fmt, hists))
continue;
diff --git a/tools/perf/ui/stdio/hist.c b/tools/perf/ui/stdio/hist.c
index 83e0bf2ab986..1a6e8f7f38c4 100644
--- a/tools/perf/ui/stdio/hist.c
+++ b/tools/perf/ui/stdio/hist.c
@@ -384,7 +384,7 @@ static int hist_entry__snprintf(struct hist_entry *he, struct perf_hpp *hpp)
if (symbol_conf.exclude_other && !he->parent)
return 0;
- perf_hpp_list__for_each_format(&perf_hpp_list, fmt) {
+ hists__for_each_format(he->hists, fmt) {
if (perf_hpp__should_skip(fmt, he->hists))
continue;
@@ -453,7 +453,7 @@ size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows,
init_rem_hits();
- perf_hpp_list__for_each_format(&perf_hpp_list, fmt)
+ hists__for_each_format(hists, fmt)
perf_hpp__reset_width(fmt, hists);
if (symbol_conf.col_width_list_str)
@@ -464,7 +464,7 @@ size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows,
fprintf(fp, "# ");
- perf_hpp_list__for_each_format(&perf_hpp_list, fmt) {
+ hists__for_each_format(hists, fmt) {
if (perf_hpp__should_skip(fmt, hists))
continue;
@@ -488,7 +488,7 @@ size_t hists__fprintf(struct hists *hists, bool show_header, int max_rows,
fprintf(fp, "# ");
- perf_hpp_list__for_each_format(&perf_hpp_list, fmt) {
+ hists__for_each_format(hists, fmt) {
unsigned int i;
if (perf_hpp__should_skip(fmt, hists))
diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
index b296ff5b9683..bc900448e36f 100644
--- a/tools/perf/util/hist.h
+++ b/tools/perf/util/hist.h
@@ -261,6 +261,9 @@ static inline void perf_hpp__register_sort_field(struct perf_hpp_fmt *format)
#define perf_hpp_list__for_each_sort_list_safe(_list, format, tmp) \
list_for_each_entry_safe(format, tmp, &(_list)->sorts, sort_list)
+#define hists__for_each_format(hists, format) \
+ perf_hpp_list__for_each_format((hists)->hpp_list, fmt)
+
extern struct perf_hpp_fmt perf_hpp__format[];
enum {
--
2.5.0
next prev parent reply other threads:[~2016-02-03 16:39 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-03 16:33 [GIT PULL 00/29] perf/core improvements and fixes Arnaldo Carvalho de Melo
2016-02-03 16:33 ` [PATCH 01/29] perf hists: Factor output_resort from hists__output_resort Arnaldo Carvalho de Melo
2016-02-03 16:33 ` [PATCH 02/29] perf hists: Introduce perf_evsel__output_resort function Arnaldo Carvalho de Melo
2016-02-03 16:33 ` [PATCH 03/29] perf hists: Add _idx fields into struct perf_hpp_fmt Arnaldo Carvalho de Melo
2016-02-03 16:33 ` [PATCH 04/29] perf hists: Use struct perf_hpp_fmt::idx in perf_hpp__reset_width Arnaldo Carvalho de Melo
2016-02-03 16:33 ` [PATCH 05/29] perf hists: Add 'equal' method to perf_hpp_fmt struct Arnaldo Carvalho de Melo
2016-02-03 16:33 ` [PATCH 06/29] perf hists: Add 'hpp__equal' callback function Arnaldo Carvalho de Melo
2016-02-03 16:33 ` [PATCH 07/29] perf hists: Make hpp setup function generic Arnaldo Carvalho de Melo
2016-02-03 16:33 ` [PATCH 08/29] perf report: Move UI initialization ahead of sort setup Arnaldo Carvalho de Melo
2016-02-03 16:33 ` [PATCH 09/29] perf top: " Arnaldo Carvalho de Melo
2016-02-03 16:33 ` [PATCH 10/29] perf hists: Allocate output sort field Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 11/29] perf hists: Remove perf_hpp__column_(disable|enable) Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 12/29] perf hists: Properly release format fields Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 13/29] perf hists: Separate sort fields parsing into setup_sort_list function Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 14/29] perf hists: Separate output fields parsing into setup_output_list function Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 15/29] perf hists: Introduce struct perf_hpp_list Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 16/29] perf hists: Introduce perf_hpp_list__init function Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 17/29] perf hists: Add perf_hpp_list register helpers Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 18/29] perf hists: Pass perf_hpp_list all the way through setup_output_list Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 19/29] perf hists: Introduce perf_hpp_list__for_each_format macro Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 20/29] perf hists: Introduce perf_hpp_list__for_each_format_safe macro Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 21/29] perf hists: Introduce perf_hpp_list__for_each_sort_list macro Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 22/29] perf hists: Introduce perf_hpp_list__for_each_sort_list_safe macro Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 23/29] perf hists: Add struct perf_hpp_list argument to helper functions Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 24/29] perf tools: Add hpp_list into struct hists object Arnaldo Carvalho de Melo
2016-02-03 16:34 ` Arnaldo Carvalho de Melo [this message]
2016-02-03 16:34 ` [PATCH 26/29] perf hists: Introduce hists__for_each_sort_list macro Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 27/29] perf report: Update documentation of --sort option Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 28/29] perf report: Update documention of --percent-limit option Arnaldo Carvalho de Melo
2016-02-03 16:34 ` [PATCH 29/29] perf hists browser: Add 'L' hotkey to change percent limit Arnaldo Carvalho de Melo
2016-02-04 7:59 ` [GIT PULL 00/29] perf/core improvements and fixes Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1454517258-12360-26-git-send-email-acme@kernel.org \
--to=acme@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=dsahern@gmail.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.