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 23/29] perf hists: Add struct perf_hpp_list argument to helper functions
Date: Wed, 3 Feb 2016 13:34:12 -0300 [thread overview]
Message-ID: <1454517258-12360-24-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>
Adding struct perf_hpp_list argument to following helper functions:
void perf_hpp__setup_output_field(struct perf_hpp_list *list);
void perf_hpp__reset_output_field(struct perf_hpp_list *list);
void perf_hpp__append_sort_keys(struct perf_hpp_list *list);
so they could be used on hists's hpp_list.
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-24-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/ui/hist.c | 19 ++++++++++---------
tools/perf/util/hist.h | 7 ++++---
tools/perf/util/sort.c | 6 +++---
3 files changed, 17 insertions(+), 15 deletions(-)
diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c
index 9cda51edfdbd..8075d4cc54a8 100644
--- a/tools/perf/ui/hist.c
+++ b/tools/perf/ui/hist.c
@@ -548,15 +548,15 @@ static bool fmt_equal(struct perf_hpp_fmt *a, struct perf_hpp_fmt *b)
return a->equal && a->equal(a, b);
}
-void perf_hpp__setup_output_field(void)
+void perf_hpp__setup_output_field(struct perf_hpp_list *list)
{
struct perf_hpp_fmt *fmt;
/* append sort keys to output field */
- perf_hpp_list__for_each_sort_list(&perf_hpp_list, fmt) {
+ perf_hpp_list__for_each_sort_list(list, fmt) {
struct perf_hpp_fmt *pos;
- perf_hpp_list__for_each_format(&perf_hpp_list, pos) {
+ perf_hpp_list__for_each_format(list, pos) {
if (fmt_equal(fmt, pos))
goto next;
}
@@ -567,15 +567,15 @@ next:
}
}
-void perf_hpp__append_sort_keys(void)
+void perf_hpp__append_sort_keys(struct perf_hpp_list *list)
{
struct perf_hpp_fmt *fmt;
/* append output fields to sort keys */
- perf_hpp_list__for_each_format(&perf_hpp_list, fmt) {
+ perf_hpp_list__for_each_format(list, fmt) {
struct perf_hpp_fmt *pos;
- perf_hpp_list__for_each_sort_list(&perf_hpp_list, pos) {
+ perf_hpp_list__for_each_sort_list(list, pos) {
if (fmt_equal(fmt, pos))
goto next;
}
@@ -586,25 +586,26 @@ next:
}
}
+
static void fmt_free(struct perf_hpp_fmt *fmt)
{
if (fmt->free)
fmt->free(fmt);
}
-void perf_hpp__reset_output_field(void)
+void perf_hpp__reset_output_field(struct perf_hpp_list *list)
{
struct perf_hpp_fmt *fmt, *tmp;
/* reset output fields */
- perf_hpp_list__for_each_format_safe(&perf_hpp_list, fmt, tmp) {
+ perf_hpp_list__for_each_format_safe(list, fmt, tmp) {
list_del_init(&fmt->list);
list_del_init(&fmt->sort_list);
fmt_free(fmt);
}
/* reset sort keys */
- perf_hpp_list__for_each_sort_list_safe(&perf_hpp_list, fmt, tmp) {
+ perf_hpp_list__for_each_sort_list_safe(list, fmt, tmp) {
list_del_init(&fmt->list);
list_del_init(&fmt->sort_list);
fmt_free(fmt);
diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
index 61d35a9f928b..a39c9c1159ff 100644
--- a/tools/perf/util/hist.h
+++ b/tools/perf/util/hist.h
@@ -279,9 +279,10 @@ enum {
void perf_hpp__init(void);
void perf_hpp__column_unregister(struct perf_hpp_fmt *format);
void perf_hpp__cancel_cumulate(void);
-void perf_hpp__setup_output_field(void);
-void perf_hpp__reset_output_field(void);
-void perf_hpp__append_sort_keys(void);
+void perf_hpp__setup_output_field(struct perf_hpp_list *list);
+void perf_hpp__reset_output_field(struct perf_hpp_list *list);
+void perf_hpp__append_sort_keys(struct perf_hpp_list *list);
+
bool perf_hpp__is_sort_entry(struct perf_hpp_fmt *format);
bool perf_hpp__is_dynamic_entry(struct perf_hpp_fmt *format);
diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
index 1e134ff56ad4..de620f7f40f4 100644
--- a/tools/perf/util/sort.c
+++ b/tools/perf/util/sort.c
@@ -2636,9 +2636,9 @@ int setup_sorting(struct perf_evlist *evlist)
return err;
/* copy sort keys to output fields */
- perf_hpp__setup_output_field();
+ perf_hpp__setup_output_field(&perf_hpp_list);
/* and then copy output fields to sort keys */
- perf_hpp__append_sort_keys();
+ perf_hpp__append_sort_keys(&perf_hpp_list);
return 0;
}
@@ -2654,5 +2654,5 @@ void reset_output_field(void)
sort_order = NULL;
reset_dimensions();
- perf_hpp__reset_output_field();
+ perf_hpp__reset_output_field(&perf_hpp_list);
}
--
2.5.0
next prev parent reply other threads:[~2016-02-03 16:36 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 ` Arnaldo Carvalho de Melo [this message]
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 ` [PATCH 25/29] perf hists: Introduce hists__for_each_format macro Arnaldo Carvalho de Melo
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-24-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 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).