linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: tip-bot for Jiri Olsa <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: acme@redhat.com, tglx@linutronix.de, hpa@zytor.com,
	dsahern@gmail.com, namhyung@kernel.org, a.p.zijlstra@chello.nl,
	linux-kernel@vger.kernel.org, mingo@kernel.org, jolsa@kernel.org
Subject: [tip:perf/core] perf hists: Pass perf_hpp_list all the way through setup_output_list
Date: Thu, 4 Feb 2016 04:39:20 -0800	[thread overview]
Message-ID: <tip-07600027fb7114bf7bcabdd121e5178f200d8a44@git.kernel.org> (raw)
In-Reply-To: <1453109064-1026-19-git-send-email-jolsa@kernel.org>

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

perf hists: Pass perf_hpp_list all the way through setup_output_list

Passing perf_hpp_list all the way through setup_output_list so the
output entry could be added on the arbitrary 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-19-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/sort.c | 33 ++++++++++++++++++---------------
 1 file changed, 18 insertions(+), 15 deletions(-)

diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
index 36dbd55..f643bed 100644
--- a/tools/perf/util/sort.c
+++ b/tools/perf/util/sort.c
@@ -1616,14 +1616,15 @@ static int __sort_dimension__add_hpp_sort(struct sort_dimension *sd)
 	return 0;
 }
 
-static int __sort_dimension__add_hpp_output(struct sort_dimension *sd)
+static int __sort_dimension__add_hpp_output(struct perf_hpp_list *list,
+					    struct sort_dimension *sd)
 {
 	struct hpp_sort_entry *hse = __sort_dimension__alloc_hpp(sd);
 
 	if (hse == NULL)
 		return -1;
 
-	perf_hpp__column_register(&hse->hpp);
+	perf_hpp_list__column_register(list, &hse->hpp);
 	return 0;
 }
 
@@ -2117,19 +2118,21 @@ static int __hpp_dimension__add(struct hpp_dimension *hd)
 	return 0;
 }
 
-static int __sort_dimension__add_output(struct sort_dimension *sd)
+static int __sort_dimension__add_output(struct perf_hpp_list *list,
+					struct sort_dimension *sd)
 {
 	if (sd->taken)
 		return 0;
 
-	if (__sort_dimension__add_hpp_output(sd) < 0)
+	if (__sort_dimension__add_hpp_output(list, sd) < 0)
 		return -1;
 
 	sd->taken = 1;
 	return 0;
 }
 
-static int __hpp_dimension__add_output(struct hpp_dimension *hd)
+static int __hpp_dimension__add_output(struct perf_hpp_list *list,
+				       struct hpp_dimension *hd)
 {
 	struct perf_hpp_fmt *fmt;
 
@@ -2141,14 +2144,14 @@ static int __hpp_dimension__add_output(struct hpp_dimension *hd)
 		return -1;
 
 	hd->taken = 1;
-	perf_hpp__column_register(fmt);
+	perf_hpp_list__column_register(list, fmt);
 	return 0;
 }
 
 int hpp_dimension__add_output(unsigned col)
 {
 	BUG_ON(col >= PERF_HPP__MAX_INDEX);
-	return __hpp_dimension__add_output(&hpp_sort_dimensions[col]);
+	return __hpp_dimension__add_output(&perf_hpp_list, &hpp_sort_dimensions[col]);
 }
 
 static int sort_dimension__add(const char *tok,
@@ -2492,7 +2495,7 @@ void sort__setup_elide(FILE *output)
 	}
 }
 
-static int output_field_add(char *tok)
+static int output_field_add(struct perf_hpp_list *list, char *tok)
 {
 	unsigned int i;
 
@@ -2502,7 +2505,7 @@ static int output_field_add(char *tok)
 		if (strncasecmp(tok, sd->name, strlen(tok)))
 			continue;
 
-		return __sort_dimension__add_output(sd);
+		return __sort_dimension__add_output(list, sd);
 	}
 
 	for (i = 0; i < ARRAY_SIZE(hpp_sort_dimensions); i++) {
@@ -2511,7 +2514,7 @@ static int output_field_add(char *tok)
 		if (strncasecmp(tok, hd->name, strlen(tok)))
 			continue;
 
-		return __hpp_dimension__add_output(hd);
+		return __hpp_dimension__add_output(list, hd);
 	}
 
 	for (i = 0; i < ARRAY_SIZE(bstack_sort_dimensions); i++) {
@@ -2520,7 +2523,7 @@ static int output_field_add(char *tok)
 		if (strncasecmp(tok, sd->name, strlen(tok)))
 			continue;
 
-		return __sort_dimension__add_output(sd);
+		return __sort_dimension__add_output(list, sd);
 	}
 
 	for (i = 0; i < ARRAY_SIZE(memory_sort_dimensions); i++) {
@@ -2529,20 +2532,20 @@ static int output_field_add(char *tok)
 		if (strncasecmp(tok, sd->name, strlen(tok)))
 			continue;
 
-		return __sort_dimension__add_output(sd);
+		return __sort_dimension__add_output(list, sd);
 	}
 
 	return -ESRCH;
 }
 
-static int setup_output_list(char *str)
+static int setup_output_list(struct perf_hpp_list *list, char *str)
 {
 	char *tmp, *tok;
 	int ret = 0;
 
 	for (tok = strtok_r(str, ", ", &tmp);
 			tok; tok = strtok_r(NULL, ", ", &tmp)) {
-		ret = output_field_add(tok);
+		ret = output_field_add(list, tok);
 		if (ret == -EINVAL) {
 			error("Invalid --fields key: `%s'", tok);
 			break;
@@ -2599,7 +2602,7 @@ static int __setup_output_field(void)
 		goto out;
 	}
 
-	ret = setup_output_list(strp);
+	ret = setup_output_list(&perf_hpp_list, strp);
 
 out:
 	free(str);

  reply	other threads:[~2016-02-04 12:39 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-18  9:23 [RFC 00/26] perf tools: Introduce hists specific format entries Jiri Olsa
2016-01-18  9:23 ` [PATCH 01/26] perf tools: Factor output_resort from hists__output_resort Jiri Olsa
2016-02-04 12:33   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 02/26] perf tools: Introduce perf_evsel__output_resort function Jiri Olsa
2016-02-04 12:33   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 03/26] perf tools: Add _idx fields into struct perf_hpp_fmt Jiri Olsa
2016-02-04 12:34   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 04/26] perf tools: Use struct perf_hpp_fmt::idx in perf_hpp__reset_width Jiri Olsa
2016-02-04 12:34   ` [tip:perf/core] perf hists: Use struct perf_hpp_fmt:: idx " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 05/26] perf tools: Add equal method to perf_hpp_fmt struct Jiri Olsa
2016-02-04 12:34   ` [tip:perf/core] perf hists: Add 'equal' " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 06/26] perf tools: Add hpp__equal callback function Jiri Olsa
2016-02-04 12:35   ` [tip:perf/core] perf hists: Add 'hpp__equal' " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 07/26] perf tools: Make hpp setup function generic Jiri Olsa
2016-02-04 12:35   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 08/26] perf report: Move ui initialization ahead of sort setup Jiri Olsa
2016-02-04 12:35   ` [tip:perf/core] perf report: Move UI " tip-bot for Jiri Olsa
2016-02-04 12:36   ` [tip:perf/core] perf top: " tip-bot for Arnaldo Carvalho de Melo
2016-01-18  9:24 ` [PATCH 09/26] perf tools: Allocate output sort field Jiri Olsa
2016-02-04 12:36   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 10/26] perf tools: Remove perf_hpp__column_(disable|enable) Jiri Olsa
2016-02-04 12:36   ` [tip:perf/core] perf hists: Remove perf_hpp__column_( disable|enable) tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 11/26] perf tools: Properly release format fields Jiri Olsa
2016-02-04 12:37   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 12/26] perf tools: Separate sort fields parsing into setup_sort_list function Jiri Olsa
2016-02-04 12:37   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 13/26] perf tools: Separate output fields parsing into setup_output_list function Jiri Olsa
2016-02-04 12:37   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 14/26] perf tools: Introduce struct perf_hpp_list Jiri Olsa
2016-01-25 15:00   ` Namhyung Kim
2016-01-25 15:09     ` Jiri Olsa
2016-02-02 21:19       ` Arnaldo Carvalho de Melo
2016-02-04 12:38   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 15/26] perf tools: Introduce perf_hpp_list__init function Jiri Olsa
2016-02-04 12:38   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 16/26] perf tools: Add perf_hpp_list register helpers Jiri Olsa
2016-02-04 12:38   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 17/26] perf tools: Pass perf_hpp_list all the way through setup_sort_list Jiri Olsa
2016-03-06 19:21   ` [PATCHv2] " Jiri Olsa
2016-03-07 14:31     ` Arnaldo Carvalho de Melo
2016-03-09 10:04       ` [PATCHv3] " Jiri Olsa
2016-03-09 12:47         ` Namhyung Kim
2016-03-09 13:38           ` Arnaldo Carvalho de Melo
2016-03-11  8:46         ` [tip:perf/core] " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 18/26] perf tools: Pass perf_hpp_list all the way through setup_output_list Jiri Olsa
2016-02-04 12:39   ` tip-bot for Jiri Olsa [this message]
2016-01-18  9:24 ` [PATCH 19/26] perf tools: Introduce perf_hpp_list__for_each_format macro Jiri Olsa
2016-02-04 12:39   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 20/26] perf tools: Introduce perf_hpp_list__for_each_format_safe macro Jiri Olsa
2016-02-04 12:40   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 21/26] perf tools: Introduce perf_hpp_list__for_each_sort_list macro Jiri Olsa
2016-02-04 12:40   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 22/26] perf tools: Introduce perf_hpp_list__for_each_sort_list_safe macro Jiri Olsa
2016-02-04 12:40   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 23/26] perf tools: Add struct perf_hpp_list argument to helper functions Jiri Olsa
2016-02-04 12:41   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 24/26] perf tools: Add hpp_list into struct hists object Jiri Olsa
2016-02-04 12:41   ` [tip:perf/core] " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 25/26] perf tools: Introduce hists__for_each_format macro Jiri Olsa
2016-02-04 12:41   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-18  9:24 ` [PATCH 26/26] perf tools: Introduce hists__for_each_sort_list macro Jiri Olsa
2016-02-04 12:42   ` [tip:perf/core] perf hists: " tip-bot for Jiri Olsa
2016-01-19 12:58 ` [RFC 00/26] perf tools: Introduce hists specific format entries Namhyung Kim
2016-01-19 13:23   ` Jiri Olsa
2016-01-25  7:15 ` Jiri Olsa
2016-01-25 14:24   ` Namhyung Kim
2016-01-25 14:37     ` Jiri Olsa
2016-02-02 22:22       ` Arnaldo Carvalho de Melo
2016-02-02 22:25         ` Arnaldo Carvalho de Melo
2016-02-02 22:42         ` Arnaldo Carvalho de Melo
2016-02-03  7:58           ` Jiri Olsa
2016-02-03 11:02             ` Jiri Olsa

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=tip-07600027fb7114bf7bcabdd121e5178f200d8a44@git.kernel.org \
    --to=tipbot@zytor.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@redhat.com \
    --cc=dsahern@gmail.com \
    --cc=hpa@zytor.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=tglx@linutronix.de \
    /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).