Thread (78 messages) 78 messages, 3 authors, 2021-11-08
STALE1686d

[PATCH 11/59] libperf: Move tool_event to perf_evsel

From: Jiri Olsa <hidden>
Date: 2021-11-08 13:38:34
Subsystem: performance events subsystem, the rest · Maintainers: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Namhyung Kim, Linus Torvalds

Moving tool_event to perf_evsel struct.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 tools/lib/perf/include/internal/evsel.h | 6 ++++++
 tools/perf/builtin-stat.c               | 2 +-
 tools/perf/util/evsel.c                 | 6 +++---
 tools/perf/util/evsel.h                 | 6 ------
 tools/perf/util/parse-events.c          | 2 +-
 5 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/tools/lib/perf/include/internal/evsel.h b/tools/lib/perf/include/internal/evsel.h
index dafa1d6be731..105ff0626482 100644
--- a/tools/lib/perf/include/internal/evsel.h
+++ b/tools/lib/perf/include/internal/evsel.h
@@ -11,6 +11,11 @@ struct perf_cpu_map;
 struct perf_thread_map;
 struct xyarray;
 
+enum perf_tool_event {
+	PERF_TOOL_NONE		= 0,
+	PERF_TOOL_DURATION_TIME	= 1,
+};
+
 /*
  * Per fd, to map back from PERF_SAMPLE_ID to evsel, only used when there are
  * more than one entry in the evlist.
@@ -62,6 +67,7 @@ struct perf_evsel {
 		bool			auto_merge_stats;
 		struct list_head	config_terms;
 		const char		*metric_id;
+		enum perf_tool_event	tool_event;
 	};
 };
 
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index f7fda777f122..f697af989d60 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -339,7 +339,7 @@ static int evsel__write_stat_event(struct evsel *counter, u32 cpu, u32 thread,
 static int read_single_counter(struct evsel *counter, int cpu,
 			       int thread, struct timespec *rs)
 {
-	if (counter->tool_event == PERF_TOOL_DURATION_TIME) {
+	if (counter->core.tool_event == PERF_TOOL_DURATION_TIME) {
 		u64 val = rs->tv_nsec + rs->tv_sec*1000000000ULL;
 		struct perf_counts_values *count =
 			perf_counts(counter->counts, cpu, thread);
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 52781210a874..3985e69123d2 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -421,7 +421,7 @@ struct evsel *evsel__clone(struct evsel *orig)
 	evsel->core.leader = orig->core.leader;
 
 	evsel->max_events = orig->max_events;
-	evsel->tool_event = orig->tool_event;
+	evsel->core.tool_event = orig->core.tool_event;
 	evsel->unit = orig->unit;
 	evsel->scale = orig->scale;
 	evsel->snapshot = orig->snapshot;
@@ -756,7 +756,7 @@ const char *evsel__name(struct evsel *evsel)
 		break;
 
 	case PERF_TYPE_SOFTWARE:
-		if (evsel->tool_event)
+		if (evsel->core.tool_event)
 			evsel__tool_name(bf, sizeof(bf));
 		else
 			evsel__sw_name(evsel, bf, sizeof(bf));
@@ -789,7 +789,7 @@ const char *evsel__metric_id(const struct evsel *evsel)
 	if (evsel->core.metric_id)
 		return evsel->core.metric_id;
 
-	if (evsel->core.attr.type == PERF_TYPE_SOFTWARE && evsel->tool_event)
+	if (evsel->core.attr.type == PERF_TYPE_SOFTWARE && evsel->core.tool_event)
 		return "duration_time";
 
 	return "unknown";
diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
index b55173bf8f70..548d3042fa8b 100644
--- a/tools/perf/util/evsel.h
+++ b/tools/perf/util/evsel.h
@@ -25,11 +25,6 @@ struct bperf_follower_bpf;
 
 typedef int (evsel__sb_cb_t)(union perf_event *event, void *data);
 
-enum perf_tool_event {
-	PERF_TOOL_NONE		= 0,
-	PERF_TOOL_DURATION_TIME = 1,
-};
-
 /** struct evsel - event selector
  *
  * @evlist - evlist this evsel is in, if it is in one.
@@ -67,7 +62,6 @@ struct evsel {
 		double			scale;
 		const char		*unit;
 		struct cgroup		*cgrp;
-		enum perf_tool_event	tool_event;
 		/* parse modifier helper */
 		int			exclude_GH;
 		int			sample_read;
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
index ee04fec441e7..15d5880df4c2 100644
--- a/tools/perf/util/parse-events.c
+++ b/tools/perf/util/parse-events.c
@@ -434,7 +434,7 @@ static int add_event_tool(struct list_head *list, int *idx,
 			    /*cpu_list=*/"0");
 	if (!evsel)
 		return -ENOMEM;
-	evsel->tool_event = tool_event;
+	evsel->core.tool_event = tool_event;
 	if (tool_event == PERF_TOOL_DURATION_TIME)
 		evsel->unit = "ns";
 	return 0;
-- 
2.31.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help