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: jolsa@kernel.org, hpa@zytor.com, linux-kernel@vger.kernel.org,
	tglx@linutronix.de, acme@redhat.com,
	alexey.budankov@linux.intel.com, mingo@kernel.org,
	namhyung@kernel.org, peterz@infradead.org,
	alexander.shishkin@linux.intel.com, mpetlan@redhat.com,
	ak@linux.intel.com
Subject: [tip:perf/core] libperf: Include perf_evsel in evsel object
Date: Tue, 30 Jul 2019 11:33:21 -0700	[thread overview]
Message-ID: <tip-b27c4ece725a7f2225f76ad05dc6f3f5463fe893@git.kernel.org> (raw)
In-Reply-To: <20190721112506.12306-36-jolsa@kernel.org>

Commit-ID:  b27c4ece725a7f2225f76ad05dc6f3f5463fe893
Gitweb:     https://git.kernel.org/tip/b27c4ece725a7f2225f76ad05dc6f3f5463fe893
Author:     Jiri Olsa <jolsa@kernel.org>
AuthorDate: Sun, 21 Jul 2019 13:24:22 +0200
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Mon, 29 Jul 2019 18:34:44 -0300

libperf: Include perf_evsel in evsel object

Including perf_evsel in evsel object, will continue to move other
generic things into libperf's perf_evsel struct.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20190721112506.12306-36-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-sched.c         |  2 +-
 tools/perf/builtin-trace.c         |  2 +-
 tools/perf/ui/browsers/hists.c     |  8 ++++----
 tools/perf/util/evlist.c           | 16 ++++++++--------
 tools/perf/util/evlist.h           | 12 ++++++------
 tools/perf/util/evsel.c            |  4 ++--
 tools/perf/util/evsel.h            | 16 ++++++++--------
 tools/perf/util/parse-events.c     | 20 ++++++++++----------
 tools/perf/util/stat-display.c     |  4 ++--
 tools/perf/util/trace-event-info.c |  4 ++--
 10 files changed, 44 insertions(+), 44 deletions(-)

diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
index c02ecb295f23..70247f1b23da 100644
--- a/tools/perf/builtin-sched.c
+++ b/tools/perf/builtin-sched.c
@@ -2929,7 +2929,7 @@ static int timehist_check_attr(struct perf_sched *sched,
 	struct evsel *evsel;
 	struct evsel_runtime *er;
 
-	list_for_each_entry(evsel, &evlist->entries, node) {
+	list_for_each_entry(evsel, &evlist->entries, core.node) {
 		er = perf_evsel__get_runtime(evsel);
 		if (er == NULL) {
 			pr_err("Failed to allocate memory for evsel runtime data\n");
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 51d142594a12..29dbf99f6081 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -2636,7 +2636,7 @@ static bool evlist__add_vfs_getname(struct evlist *evlist)
 			continue;
 		}
 
-		list_del_init(&evsel->node);
+		list_del_init(&evsel->core.node);
 		evsel->evlist = NULL;
 		evsel__delete(evsel);
 	}
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index b83258bece05..280347499c50 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -3212,7 +3212,7 @@ static void perf_evsel_menu__write(struct ui_browser *browser,
 {
 	struct evsel_menu *menu = container_of(browser,
 						    struct evsel_menu, b);
-	struct evsel *evsel = list_entry(entry, struct evsel, node);
+	struct evsel *evsel = list_entry(entry, struct evsel, core.node);
 	struct hists *hists = evsel__hists(evsel);
 	bool current_entry = ui_browser__is_current_entry(browser, row);
 	unsigned long nr_events = hists->stats.nr_events[PERF_RECORD_SAMPLE];
@@ -3309,13 +3309,13 @@ browse_hists:
 			ui_browser__show_title(&menu->b, title);
 			switch (key) {
 			case K_TAB:
-				if (pos->node.next == &evlist->entries)
+				if (pos->core.node.next == &evlist->entries)
 					pos = perf_evlist__first(evlist);
 				else
 					pos = perf_evsel__next(pos);
 				goto browse_hists;
 			case K_UNTAB:
-				if (pos->node.prev == &evlist->entries)
+				if (pos->core.node.prev == &evlist->entries)
 					pos = perf_evlist__last(evlist);
 				else
 					pos = perf_evsel__prev(pos);
@@ -3351,7 +3351,7 @@ out:
 static bool filter_group_entries(struct ui_browser *browser __maybe_unused,
 				 void *entry)
 {
-	struct evsel *evsel = list_entry(entry, struct evsel, node);
+	struct evsel *evsel = list_entry(entry, struct evsel, core.node);
 
 	if (symbol_conf.event_group && !perf_evsel__is_group_leader(evsel))
 		return true;
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index 38a3c6d16b4b..227576bf16c0 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -119,7 +119,7 @@ static void perf_evlist__purge(struct evlist *evlist)
 	struct evsel *pos, *n;
 
 	evlist__for_each_entry_safe(evlist, n, pos) {
-		list_del_init(&pos->node);
+		list_del_init(&pos->core.node);
 		pos->evlist = NULL;
 		evsel__delete(pos);
 	}
@@ -180,7 +180,7 @@ static void perf_evlist__propagate_maps(struct evlist *evlist)
 void evlist__add(struct evlist *evlist, struct evsel *entry)
 {
 	entry->evlist = evlist;
-	list_add_tail(&entry->node, &evlist->entries);
+	list_add_tail(&entry->core.node, &evlist->entries);
 	entry->idx = evlist->nr_entries;
 	entry->tracking = !entry->idx;
 
@@ -193,7 +193,7 @@ void evlist__add(struct evlist *evlist, struct evsel *entry)
 void evlist__remove(struct evlist *evlist, struct evsel *evsel)
 {
 	evsel->evlist = NULL;
-	list_del_init(&evsel->node);
+	list_del_init(&evsel->core.node);
 	evlist->nr_entries -= 1;
 }
 
@@ -203,7 +203,7 @@ void perf_evlist__splice_list_tail(struct evlist *evlist,
 	struct evsel *evsel, *temp;
 
 	__evlist__for_each_entry_safe(list, temp, evsel) {
-		list_del_init(&evsel->node);
+		list_del_init(&evsel->core.node);
 		evlist__add(evlist, evsel);
 	}
 }
@@ -212,8 +212,8 @@ void __perf_evlist__set_leader(struct list_head *list)
 {
 	struct evsel *evsel, *leader;
 
-	leader = list_entry(list->next, struct evsel, node);
-	evsel = list_entry(list->prev, struct evsel, node);
+	leader = list_entry(list->next, struct evsel, core.node);
+	evsel = list_entry(list->prev, struct evsel, core.node);
 
 	leader->nr_members = evsel->idx - leader->idx + 1;
 
@@ -268,7 +268,7 @@ static int evlist__add_attrs(struct evlist *evlist,
 		evsel = perf_evsel__new_idx(attrs + i, evlist->nr_entries + i);
 		if (evsel == NULL)
 			goto out_delete_partial_list;
-		list_add_tail(&evsel->node, &head);
+		list_add_tail(&evsel->core.node, &head);
 	}
 
 	perf_evlist__splice_list_tail(evlist, &head);
@@ -1680,7 +1680,7 @@ void perf_evlist__to_front(struct evlist *evlist,
 
 	evlist__for_each_entry_safe(evlist, n, evsel) {
 		if (evsel->leader == move_evsel->leader)
-			list_move_tail(&evsel->node, &move);
+			list_move_tail(&evsel->core.node, &move);
 	}
 
 	list_splice(&move, &evlist->entries);
diff --git a/tools/perf/util/evlist.h b/tools/perf/util/evlist.h
index 99621c056d09..1315e64ad69e 100644
--- a/tools/perf/util/evlist.h
+++ b/tools/perf/util/evlist.h
@@ -230,12 +230,12 @@ static inline bool perf_evlist__empty(struct evlist *evlist)
 
 static inline struct evsel *perf_evlist__first(struct evlist *evlist)
 {
-	return list_entry(evlist->entries.next, struct evsel, node);
+	return list_entry(evlist->entries.next, struct evsel, core.node);
 }
 
 static inline struct evsel *perf_evlist__last(struct evlist *evlist)
 {
-	return list_entry(evlist->entries.prev, struct evsel, node);
+	return list_entry(evlist->entries.prev, struct evsel, core.node);
 }
 
 size_t perf_evlist__fprintf(struct evlist *evlist, FILE *fp);
@@ -253,7 +253,7 @@ void perf_evlist__to_front(struct evlist *evlist,
  * @evsel: struct evsel iterator
  */
 #define __evlist__for_each_entry(list, evsel) \
-        list_for_each_entry(evsel, list, node)
+        list_for_each_entry(evsel, list, core.node)
 
 /**
  * evlist__for_each_entry - iterate thru all the evsels
@@ -269,7 +269,7 @@ void perf_evlist__to_front(struct evlist *evlist,
  * @evsel: struct evsel iterator
  */
 #define __evlist__for_each_entry_continue(list, evsel) \
-        list_for_each_entry_continue(evsel, list, node)
+        list_for_each_entry_continue(evsel, list, core.node)
 
 /**
  * evlist__for_each_entry_continue - continue iteration thru all the evsels
@@ -285,7 +285,7 @@ void perf_evlist__to_front(struct evlist *evlist,
  * @evsel: struct evsel iterator
  */
 #define __evlist__for_each_entry_reverse(list, evsel) \
-        list_for_each_entry_reverse(evsel, list, node)
+        list_for_each_entry_reverse(evsel, list, core.node)
 
 /**
  * evlist__for_each_entry_reverse - iterate thru all the evsels in reverse order
@@ -302,7 +302,7 @@ void perf_evlist__to_front(struct evlist *evlist,
  * @evsel: struct evsel iterator
  */
 #define __evlist__for_each_entry_safe(list, tmp, evsel) \
-        list_for_each_entry_safe(evsel, tmp, list, node)
+        list_for_each_entry_safe(evsel, tmp, list, core.node)
 
 /**
  * evlist__for_each_entry_safe - safely iterate thru all the evsels
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 652e53279b28..8fed22d889a4 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -236,7 +236,7 @@ void evsel__init(struct evsel *evsel,
 	evsel->evlist	   = NULL;
 	evsel->bpf_obj	   = NULL;
 	evsel->bpf_fd	   = -1;
-	INIT_LIST_HEAD(&evsel->node);
+	INIT_LIST_HEAD(&evsel->core.node);
 	INIT_LIST_HEAD(&evsel->config_terms);
 	perf_evsel__object.init(evsel);
 	evsel->sample_size = __perf_evsel__sample_size(attr->sample_type);
@@ -1318,7 +1318,7 @@ void perf_evsel__close_fd(struct evsel *evsel)
 
 void perf_evsel__exit(struct evsel *evsel)
 {
-	assert(list_empty(&evsel->node));
+	assert(list_empty(&evsel->core.node));
 	assert(evsel->evlist == NULL);
 	perf_evsel__free_counts(evsel);
 	perf_evsel__free_fd(evsel);
diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
index 5fec1ca64f58..d74cac6fe306 100644
--- a/tools/perf/util/evsel.h
+++ b/tools/perf/util/evsel.h
@@ -7,6 +7,7 @@
 #include <stddef.h>
 #include <linux/perf_event.h>
 #include <linux/types.h>
+#include <internal/evsel.h>
 #include "xyarray.h"
 #include "symbol_conf.h"
 #include "cpumap.h"
@@ -87,8 +88,7 @@ struct bpf_object;
 /** struct evsel - event selector
  *
  * @evlist - evlist this evsel is in, if it is in one.
- * @node - To insert it into evlist->entries or in other list_heads, say in
- *         the event parsing routines.
+ * @core - libperf evsel object
  * @name - Can be set to retain the original event name passed by the user,
  *         so that when showing results in tools such as 'perf stat', we
  *         show the name used, not some alias.
@@ -101,7 +101,7 @@ struct bpf_object;
  * @priv:   And what is in its containing unnamed union are tool specific
  */
 struct evsel {
-	struct list_head	node;
+	struct perf_evsel	core;
 	struct evlist	*evlist;
 	struct perf_event_attr	attr;
 	char			*filter;
@@ -386,12 +386,12 @@ int perf_evsel__parse_sample_timestamp(struct evsel *evsel,
 
 static inline struct evsel *perf_evsel__next(struct evsel *evsel)
 {
-	return list_entry(evsel->node.next, struct evsel, node);
+	return list_entry(evsel->core.node.next, struct evsel, core.node);
 }
 
 static inline struct evsel *perf_evsel__prev(struct evsel *evsel)
 {
-	return list_entry(evsel->node.prev, struct evsel, node);
+	return list_entry(evsel->core.node.prev, struct evsel, core.node);
 }
 
 /**
@@ -478,15 +478,15 @@ static inline int perf_evsel__group_idx(struct evsel *evsel)
 
 /* Iterates group WITHOUT the leader. */
 #define for_each_group_member(_evsel, _leader) 					\
-for ((_evsel) = list_entry((_leader)->node.next, struct evsel, node); 	\
+for ((_evsel) = list_entry((_leader)->core.node.next, struct evsel, core.node); \
      (_evsel) && (_evsel)->leader == (_leader);					\
-     (_evsel) = list_entry((_evsel)->node.next, struct evsel, node))
+     (_evsel) = list_entry((_evsel)->core.node.next, struct evsel, core.node))
 
 /* Iterates group WITH the leader. */
 #define for_each_group_evsel(_evsel, _leader) 					\
 for ((_evsel) = _leader; 							\
      (_evsel) && (_evsel)->leader == (_leader);					\
-     (_evsel) = list_entry((_evsel)->node.next, struct evsel, node))
+     (_evsel) = list_entry((_evsel)->core.node.next, struct evsel, core.node))
 
 static inline bool perf_evsel__has_branch_callstack(const struct evsel *evsel)
 {
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
index 38eeca6fa1fc..e111c0e0a5ac 100644
--- a/tools/perf/util/parse-events.c
+++ b/tools/perf/util/parse-events.c
@@ -343,7 +343,7 @@ __add_event(struct list_head *list, int *idx,
 	if (config_terms)
 		list_splice(config_terms, &evsel->config_terms);
 
-	list_add_tail(&evsel->node, list);
+	list_add_tail(&evsel->core.node, list);
 	return evsel;
 }
 
@@ -526,7 +526,7 @@ static int add_tracepoint(struct list_head *list, int *idx,
 		list_splice(&config_terms, &evsel->config_terms);
 	}
 
-	list_add_tail(&evsel->node, list);
+	list_add_tail(&evsel->core.node, list);
 	return 0;
 }
 
@@ -660,15 +660,15 @@ static int add_bpf_event(const char *group, const char *event, int fd, struct bp
 
 		pr_debug("Failed to add BPF event %s:%s\n",
 			 group, event);
-		list_for_each_entry_safe(evsel, tmp, &new_evsels, node) {
-			list_del_init(&evsel->node);
+		list_for_each_entry_safe(evsel, tmp, &new_evsels, core.node) {
+			list_del_init(&evsel->core.node);
 			evsel__delete(evsel);
 		}
 		return err;
 	}
 	pr_debug("adding %s:%s\n", group, event);
 
-	list_for_each_entry(pos, &new_evsels, node) {
+	list_for_each_entry(pos, &new_evsels, core.node) {
 		pr_debug("adding %s:%s to %p\n",
 			 group, event, pos);
 		pos->bpf_fd = fd;
@@ -1458,8 +1458,8 @@ parse_events__set_leader_for_uncore_aliase(char *name, struct list_head *list,
 	bool is_leader = true;
 	int i, nr_pmu = 0, total_members, ret = 0;
 
-	leader = list_first_entry(list, struct evsel, node);
-	evsel = list_last_entry(list, struct evsel, node);
+	leader = list_first_entry(list, struct evsel, core.node);
+	evsel = list_last_entry(list, struct evsel, core.node);
 	total_members = evsel->idx - leader->idx + 1;
 
 	leaders = calloc(total_members, sizeof(uintptr_t));
@@ -1555,7 +1555,7 @@ void parse_events__set_leader(char *name, struct list_head *list,
 		return;
 
 	__perf_evlist__set_leader(list);
-	leader = list_entry(list->next, struct evsel, node);
+	leader = list_entry(list->next, struct evsel, core.node);
 	leader->group_name = name ? strdup(name) : NULL;
 }
 
@@ -2050,9 +2050,9 @@ foreach_evsel_in_last_glob(struct evlist *evlist,
 		if (!last)
 			return 0;
 
-		if (last->node.prev == &evlist->entries)
+		if (last->core.node.prev == &evlist->entries)
 			return 0;
-		last = list_entry(last->node.prev, struct evsel, node);
+		last = list_entry(last->core.node.prev, struct evsel, core.node);
 	} while (!last->cmdline_group_boundary);
 
 	return 0;
diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c
index 1f099823a1f9..17b7d3b55b5f 100644
--- a/tools/perf/util/stat-display.c
+++ b/tools/perf/util/stat-display.c
@@ -548,8 +548,8 @@ static void collect_all_aliases(struct perf_stat_config *config, struct evsel *c
 	struct evlist *evlist = counter->evlist;
 	struct evsel *alias;
 
-	alias = list_prepare_entry(counter, &(evlist->entries), node);
-	list_for_each_entry_continue (alias, &evlist->entries, node) {
+	alias = list_prepare_entry(counter, &(evlist->entries), core.node);
+	list_for_each_entry_continue (alias, &evlist->entries, core.node) {
 		if (strcmp(perf_evsel__name(alias), perf_evsel__name(counter)) ||
 		    alias->scale != counter->scale ||
 		    alias->cgrp != counter->cgrp ||
diff --git a/tools/perf/util/trace-event-info.c b/tools/perf/util/trace-event-info.c
index d7ae0627ac47..7efdbb182ea1 100644
--- a/tools/perf/util/trace-event-info.c
+++ b/tools/perf/util/trace-event-info.c
@@ -408,7 +408,7 @@ get_tracepoints_path(struct list_head *pattrs)
 	struct evsel *pos;
 	int nr_tracepoints = 0;
 
-	list_for_each_entry(pos, pattrs, node) {
+	list_for_each_entry(pos, pattrs, core.node) {
 		if (pos->attr.type != PERF_TYPE_TRACEPOINT)
 			continue;
 		++nr_tracepoints;
@@ -443,7 +443,7 @@ bool have_tracepoints(struct list_head *pattrs)
 {
 	struct evsel *pos;
 
-	list_for_each_entry(pos, pattrs, node)
+	list_for_each_entry(pos, pattrs, core.node)
 		if (pos->attr.type == PERF_TYPE_TRACEPOINT)
 			return true;
 

  reply	other threads:[~2019-07-30 18:33 UTC|newest]

Thread overview: 192+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-21 11:23 [RFC 00/79] perf tools: Initial libperf separation Jiri Olsa
2019-07-21 11:23 ` [PATCH 01/79] perf tools: Move loaded out of struct perf_counts_values Jiri Olsa
2019-07-30 18:07   ` [tip:perf/core] perf stat: " tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 02/79] perf tools: Rename struct cpu_map to struct perf_cpu_map Jiri Olsa
2019-07-30 18:08   ` [tip:perf/core] perf cpu_map: " tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 03/79] perf tools: Rename struct thread_map to struct perf_thread_map Jiri Olsa
2019-07-30 18:09   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 04/79] perf tools: Rename struct perf_evsel to struct evsel Jiri Olsa
2019-07-30 18:09   ` [tip:perf/core] perf evsel: " tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 05/79] perf tools: Rename struct perf_evlist to struct evlist Jiri Olsa
2019-07-30 18:10   ` [tip:perf/core] perf evlist: " tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 06/79] perf tools: Rename perf_evsel__init to evsel__init Jiri Olsa
2019-07-30 18:11   ` [tip:perf/core] perf evsel: Rename perf_evsel__init() to evsel__init() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 07/79] perf tools: Rename perf_evlist__init to evlist__init Jiri Olsa
2019-07-30 18:12   ` [tip:perf/core] perf evlist: Rename perf_evlist__init() to evlist__init() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 08/79] perf tools: Rename perf_evlist__new to evlist__new Jiri Olsa
2019-07-30 18:12   ` [tip:perf/core] perf evlist: Rename perf_evlist__new() to evlist__new() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 09/79] perf tools: Rename perf_evlist__delete to evlist__delete Jiri Olsa
2019-07-30 18:13   ` [tip:perf/core] perf evlist: Rename perf_evlist__delete() to evlist__delete() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 10/79] perf tools: Rename perf_evsel__delete to evsel__delete Jiri Olsa
2019-07-30 18:14   ` [tip:perf/core] perf evsel: Rename perf_evsel__delete() to evsel__delete() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 11/79] perf tools: Rename perf_evsel__new to evsel__new Jiri Olsa
2019-07-30 18:15   ` [tip:perf/core] perf evsel: Rename perf_evsel__new() to evsel__new() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 12/79] perf tools: Rename perf_evlist__add to evlist__add Jiri Olsa
2019-07-30 18:15   ` [tip:perf/core] perf evlist: Rename perf_evlist__add() to evlist__add() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 13/79] perf tools: Rename perf_evlist__remove to evlist__remove Jiri Olsa
2019-07-30 18:16   ` [tip:perf/core] perf evlist: Rename perf_evlist__remove() to evlist__remove() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 14/79] perf tools: Rename perf_evsel__open to evsel__open Jiri Olsa
2019-07-30 18:17   ` [tip:perf/core] perf evsel: Rename perf_evsel__open() to evsel__open() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 15/79] perf tools: Rename perf_evsel__enable to evsel__enable Jiri Olsa
2019-07-30 18:17   ` [tip:perf/core] perf evsel: Rename perf_evsel__enable() to evsel__enable() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 16/79] perf tools: Rename perf_evsel__disable to evsel__disable Jiri Olsa
2019-07-30 18:18   ` [tip:perf/core] perf evsel: Rename perf_evsel__disable() to evsel__disable() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 17/79] perf tools: Rename perf_evsel__apply_filter to evsel__apply_filter Jiri Olsa
2019-07-30 18:19   ` [tip:perf/core] perf evsel: Rename perf_evsel__apply_filter() to evsel__apply_filter() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 18/79] perf tools: Rename perf_evsel__cpus to evsel__cpus Jiri Olsa
2019-07-30 18:20   ` [tip:perf/core] perf evsel: Rename perf_evsel__cpus() to evsel__cpus() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 19/79] perf tools: Rename perf_evlist__open to evlist__open Jiri Olsa
2019-07-30 18:20   ` [tip:perf/core] perf evlist: Rename perf_evlist__open() to evlist__open() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 20/79] perf tools: Rename perf_evlist__close to evlist__close Jiri Olsa
2019-07-30 18:21   ` [tip:perf/core] perf evlist: Rename perf_evlist__close() to evlist__close() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 21/79] perf tools: Rename perf_evlist__enable to evlist__enable Jiri Olsa
2019-07-30 18:22   ` [tip:perf/core] perf evlist: Rename perf_evlist__enable() to evlist__enable() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 22/79] perf tools: Rename perf_evlist__disable to evlist__disable Jiri Olsa
2019-07-30 18:23   ` [tip:perf/core] perf evlist: Rename perf_evlist__disable() to evlist__disable() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 23/79] libperf: Make libperf.a part of the build Jiri Olsa
2019-07-22 12:39   ` Arnaldo Carvalho de Melo
2019-07-22 15:54     ` Jiri Olsa
2019-07-22 17:34       ` Arnaldo Carvalho de Melo
2019-07-26 14:41   ` Arnaldo Carvalho de Melo
2019-07-30 18:24   ` [tip:perf/core] libperf: Make libperf.a part of the perf build tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 24/79] libperf: Add build version support Jiri Olsa
2019-07-30 18:24   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 25/79] libperf: Add libperf in python.so compilation Jiri Olsa
2019-07-30 18:25   ` [tip:perf/core] libperf: Add libperf to the python.so build tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 26/79] libperf: Add perf/core.h header Jiri Olsa
2019-07-30 18:26   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 27/79] libperf: Add debug output support Jiri Olsa
2019-07-30 18:27   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 28/79] libperf: Add perf_cpu_map struct Jiri Olsa
2019-07-30 18:27   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-08-18 14:04   ` [PATCH 28/79] " Guenter Roeck
2019-08-18 19:40     ` Jiri Olsa
2019-08-18 21:28       ` Guenter Roeck
2019-08-19  8:21         ` Jiri Olsa
2019-08-20 12:46           ` [PATCH] libperf: Fix arch include paths Jiri Olsa
2019-08-20 15:26             ` Guenter Roeck
2019-08-20 15:31               ` Arnaldo Carvalho de Melo
2019-08-23  2:16             ` [tip: perf/core] " tip-bot2 for Jiri Olsa
2019-07-21 11:24 ` [PATCH 29/79] libperf: Add perf_cpu_map__dummy_new function Jiri Olsa
2019-07-30 18:28   ` [tip:perf/core] libperf: Add perf_cpu_map__dummy_new() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 30/79] libperf: Add perf_cpu_map__get/perf_cpu_map__put Jiri Olsa
2019-07-30 18:29   ` [tip:perf/core] libperf: Add perf_cpu_map__get()/perf_cpu_map__put() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 31/79] libperf: Add perf_thread_map struct Jiri Olsa
2019-07-30 18:30   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 32/79] libperf: Add perf_thread_map__new_dummy function Jiri Olsa
2019-07-30 18:31   ` [tip:perf/core] libperf: Add perf_thread_map__new_dummy() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 33/79] libperf: Add perf_thread_map__get/perf_thread_map__put Jiri Olsa
2019-07-30 18:31   ` [tip:perf/core] libperf: Add perf_thread_map__get()/perf_thread_map__put() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 34/79] libperf: Add perf_evlist and perf_evsel structs Jiri Olsa
2019-07-30 18:32   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 35/79] libperf: Include perf_evsel in evsel object Jiri Olsa
2019-07-30 18:33   ` tip-bot for Jiri Olsa [this message]
2019-07-21 11:24 ` [PATCH 36/79] libperf: Include perf_evlist in evlist object Jiri Olsa
2019-07-30 18:34   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 37/79] libperf: Add perf_evsel__init function Jiri Olsa
2019-07-30 18:34   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 38/79] libperf: Add perf_evlist__init function Jiri Olsa
2019-07-22 19:39   ` Arnaldo Carvalho de Melo
2019-07-22 22:17     ` Jiri Olsa
2019-07-30 18:35   ` [tip:perf/core] libperf: Add perf_evlist__init() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 39/79] libperf: Add perf_evlist__add function Jiri Olsa
2019-07-22 19:09   ` Arnaldo Carvalho de Melo
2019-07-22 22:22     ` Jiri Olsa
2019-07-22 20:38   ` Arnaldo Carvalho de Melo
2019-07-30 18:36   ` [tip:perf/core] libperf: Add perf_evlist__add() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 40/79] libperf: Add perf_evlist__remove function Jiri Olsa
2019-07-30 18:37   ` [tip:perf/core] libperf: Add perf_evlist__remove() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 41/79] libperf: Add nr_entries to perf_evlist Jiri Olsa
2019-07-30 18:37   ` [tip:perf/core] libperf: Add nr_entries to struct perf_evlist tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 42/79] libperf: Add attr to perf_evsel Jiri Olsa
2019-07-24 15:25   ` Arnaldo Carvalho de Melo
2019-07-30 18:38   ` [tip:perf/core] libperf: Move perf_event_attr field from perf's evsel to libperf's perf_evsel tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 43/79] libperf: Add perf_cpu_map__new/perf_cpu_map__read functions Jiri Olsa
2019-07-24 15:32   ` Arnaldo Carvalho de Melo
2019-07-30 18:39   ` [tip:perf/core] libperf: Add perf_cpu_map__new()/perf_cpu_map__read() functions tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 44/79] libperf: Move zalloc.o into libperf Jiri Olsa
2019-07-30 18:40   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 45/79] libperf: Add perf_evlist__new function Jiri Olsa
2019-07-30 18:41   ` [tip:perf/core] libperf: Add perf_evlist__new() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 46/79] libperf: Add perf_evsel__new function Jiri Olsa
2019-07-30 18:41   ` [tip:perf/core] libperf: Add perf_evsel__new() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 47/79] libperf: Add perf_evlist__for_each_evsel macro Jiri Olsa
2019-07-24 15:42   ` Arnaldo Carvalho de Melo
2019-07-30 18:42   ` [tip:perf/core] libperf: Add perf_evlist__for_each_evsel() iterator tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 48/79] libperf: Add perf_evlist__delete function Jiri Olsa
2019-07-30 18:43   ` [tip:perf/core] libperf: Add perf_evlist__delete() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 49/79] libperf: Add perf_evsel__delete function Jiri Olsa
2019-07-30 18:44   ` [tip:perf/core] libperf: Add perf_evsel__delete() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 50/79] libperf: Add cpus to struct perf_evsel Jiri Olsa
2019-07-30 18:44   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 51/79] libperf: Add own_cpus " Jiri Olsa
2019-07-30 18:45   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 52/79] libperf: Add threads " Jiri Olsa
2019-07-30 18:46   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 53/79] libperf: Add has_user_cpus to struct perf_evlist Jiri Olsa
2019-07-30 18:46   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 54/79] libperf: Add cpus " Jiri Olsa
2019-07-24 17:05   ` Arnaldo Carvalho de Melo
2019-07-30 18:47   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 55/79] libperf: Add threads " Jiri Olsa
2019-07-30 18:48   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 56/79] libperf: Add perf_evlist__set_maps function Jiri Olsa
2019-07-24 17:14   ` Arnaldo Carvalho de Melo
2019-07-30 18:49   ` [tip:perf/core] libperf: Add perf_evlist__set_maps() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 57/79] libperf: Add xyarray object Jiri Olsa
2019-07-30 18:49   ` [tip:perf/core] libperf: Adopt xyarray class from perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 58/79] libperf: Add fd array to struct perf_evsel Jiri Olsa
2019-07-30 18:50   ` [tip:perf/core] libperf: Move fd array from perf's evsel to lobperf's perf_evsel class tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 59/79] libperf: Add nr_members to struct perf_evsel Jiri Olsa
2019-07-30 18:51   ` [tip:perf/core] libperf: Move nr_members from perf's evsel to libperf's perf_evsel tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 60/79] libperf: Add readn/writen function Jiri Olsa
2019-07-30 18:52   ` [tip:perf/core] libperf: Adopt the readn()/writen() functions from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 61/79] libperf: Add perf_evsel__alloc_fd function Jiri Olsa
2019-07-30 18:53   ` [tip:perf/core] libperf: Adopt perf_evsel__alloc_fd() function from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 62/79] libperf: Add perf_evsel__open function Jiri Olsa
2019-07-30 18:53   ` [tip:perf/core] libperf: Adopt simplified perf_evsel__open() function from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 63/79] libperf: Add perf_evsel__close function Jiri Olsa
2019-07-30 18:54   ` [tip:perf/core] libperf: Adopt simplified perf_evsel__close() function from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 64/79] libperf: Add perf_evsel__read function Jiri Olsa
2019-07-30 18:55   ` [tip:perf/core] libperf: Adopt perf_evsel__read() function from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 65/79] libperf: Add perf_evsel__enable/disable/apply_filter functions Jiri Olsa
2019-07-30 18:56   ` [tip:perf/core] libperf: Adopt perf_evsel__enable()/disable()/apply_filter() functions tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 66/79] libperf: Add perf_cpu_map__for_each_cpu macro Jiri Olsa
2019-07-30 18:57   ` [tip:perf/core] libperf: Add perf_cpu_map__for_each_cpu() macro tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 67/79] libperf: Add perf_evsel__cpus/threads functions Jiri Olsa
2019-07-30 18:57   ` [tip:perf/core] libperf: Add perf_evsel__cpus()/threads() functions tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 68/79] libperf: Add perf_evlist__open/close functions Jiri Olsa
2019-07-30 18:58   ` [tip:perf/core] libperf: Adopt simplified perf_evlist__open()/close() functions from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 69/79] libperf: Add perf_evlist__enable/disable functions Jiri Olsa
2019-07-30 18:59   ` [tip:perf/core] libperf: Adopt perf_evlist__enable()/disable() functions from perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 70/79] libperf: Add perf_evsel__attr functions Jiri Olsa
2019-07-30 19:00   ` [tip:perf/core] libperf: Add perf_evsel__attr() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 71/79] libperf: Add install targets Jiri Olsa
2019-07-25 10:31   ` Arnaldo Carvalho de Melo
2019-07-30 19:00   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 72/79] libperf: Add tests support Jiri Olsa
2019-07-30 19:01   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 73/79] libperf: Add perf_cpu_map test Jiri Olsa
2019-07-25 10:39   ` Arnaldo Carvalho de Melo
2019-07-30 19:02   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 74/79] libperf: Add perf_thread_map test Jiri Olsa
2019-07-30 19:03   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 75/79] libperf: Add perf_evlist test Jiri Olsa
2019-07-30 19:04   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 76/79] libperf: Add perf_evsel tests Jiri Olsa
2019-07-30 19:04   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 77/79] libperf: Add perf_evlist__enable/disable test Jiri Olsa
2019-07-30 19:05   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 78/79] libperf: Add perf_evsel__enable/disable test Jiri Olsa
2019-07-30 19:06   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 79/79] libperf: Initial documentation Jiri Olsa
2019-07-30 19:07   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-22 16:23 ` [RFC 00/79] perf tools: Initial libperf separation Ian Rogers
2019-07-24  8:53   ` Jiri Olsa
2019-07-24  7:42 ` Song Liu
2019-07-24  8:33   ` Jiri Olsa
2019-07-24  8:49     ` Song Liu
2019-07-24 13:50   ` Arnaldo Carvalho de Melo
2019-07-25  5:23     ` Song Liu
2019-07-25 10:59 ` Arnaldo Carvalho de Melo
2019-08-05  8:21 ` Alexey Budankov

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-b27c4ece725a7f2225f76ad05dc6f3f5463fe893@git.kernel.org \
    --to=tipbot@zytor.com \
    --cc=acme@redhat.com \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=alexey.budankov@linux.intel.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=mpetlan@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.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).