[tip:perf/core] perf hists: Make hpp setup function generic

From: tip-bot for Jiri Olsa
Date: Thu Feb 04 2016 - 07:35:55 EST


Commit-ID: 3f931f2c4274565fd6c6a642b16387358cbe6266
Gitweb: http://git.kernel.org/tip/3f931f2c4274565fd6c6a642b16387358cbe6266
Author: Jiri Olsa <jolsa@xxxxxxxxxx>
AuthorDate: Mon, 18 Jan 2016 10:24:05 +0100
Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
CommitDate: Wed, 3 Feb 2016 12:24:02 -0300

perf hists: Make hpp setup function generic

Now that we have the 'equal' method implemented for hpp format entries
we can ease up the logic in the following functions and make them
generic wrt comparing format entries:

perf_hpp__setup_output_field
perf_hpp__append_sort_keys

Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Link: http://lkml.kernel.org/r/1453109064-1026-8-git-send-email-jolsa@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/ui/hist.c | 36 ++++++++----------------------------
1 file changed, 8 insertions(+), 28 deletions(-)

diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c
index b543f4b..b0fcaec 100644
--- a/tools/perf/ui/hist.c
+++ b/tools/perf/ui/hist.c
@@ -551,21 +551,11 @@ void perf_hpp__setup_output_field(void)

/* append sort keys to output field */
perf_hpp__for_each_sort_list(fmt) {
- if (!list_empty(&fmt->list))
- continue;
+ struct perf_hpp_fmt *pos;

- /*
- * sort entry fields are dynamically created,
- * so they can share a same sort key even though
- * the list is empty.
- */
- if (perf_hpp__is_sort_entry(fmt)) {
- struct perf_hpp_fmt *pos;
-
- perf_hpp__for_each_format(pos) {
- if (fmt_equal(fmt, pos))
- goto next;
- }
+ perf_hpp__for_each_format(pos) {
+ if (fmt_equal(fmt, pos))
+ goto next;
}

perf_hpp__column_register(fmt);
@@ -580,21 +570,11 @@ void perf_hpp__append_sort_keys(void)

/* append output fields to sort keys */
perf_hpp__for_each_format(fmt) {
- if (!list_empty(&fmt->sort_list))
- continue;
+ struct perf_hpp_fmt *pos;

- /*
- * sort entry fields are dynamically created,
- * so they can share a same sort key even though
- * the list is empty.
- */
- if (perf_hpp__is_sort_entry(fmt)) {
- struct perf_hpp_fmt *pos;
-
- perf_hpp__for_each_sort_list(pos) {
- if (fmt_equal(fmt, pos))
- goto next;
- }
+ perf_hpp__for_each_sort_list(pos) {
+ if (fmt_equal(fmt, pos))
+ goto next;
}

perf_hpp__register_sort_field(fmt);