File libperf-add-perf_evsel__init-function.patch of Package perf
xxxxxxxxxx
1
From: Jiri Olsa <jolsa@kernel.org>
2
Date: Sun, 21 Jul 2019 13:24:24 +0200
3
Subject: libperf: Add perf_evsel__init function
4
Git-commit: b04c597af761ccfd32f40ee3629843b6f3674fce
5
Patch-mainline: v5.4-rc1
6
References: jsc#SLE-13661
7
8
Add the perf_evsel__init() function to initialize perf_evsel struct.
9
10
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
11
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
12
Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
13
Cc: Andi Kleen <ak@linux.intel.com>
14
Cc: Michael Petlan <mpetlan@redhat.com>
15
Cc: Namhyung Kim <namhyung@kernel.org>
16
Cc: Peter Zijlstra <peterz@infradead.org>
17
Link: http://lkml.kernel.org/r/20190721112506.12306-38-jolsa@kernel.org
18
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
19
Signed-off-by: Tony Jones <tonyj@suse.de>
20
---
21
tools/perf/lib/evsel.c | 5 +++++
22
tools/perf/lib/include/perf/evsel.h | 4 ++++
23
tools/perf/lib/libperf.map | 1 +
24
tools/perf/util/evsel.c | 3 ++-
25
4 files changed, 12 insertions(+), 1 deletion(-)
26
27
diff --git a/tools/perf/lib/evsel.c b/tools/perf/lib/evsel.c
28
index 12e86de1994b..9a87e867a7ec 100644
29
--- a/tools/perf/lib/evsel.c
30
+++ b/tools/perf/lib/evsel.c
31
32
#include <perf/evsel.h>
33
#include <linux/list.h>
34
#include <internal/evsel.h>
35
+
36
+void perf_evsel__init(struct perf_evsel *evsel)
37
+{
38
+ INIT_LIST_HEAD(&evsel->node);
39
+}
40
diff --git a/tools/perf/lib/include/perf/evsel.h b/tools/perf/lib/include/perf/evsel.h
41
index 162bffd43409..b4d074a3684b 100644
42
--- a/tools/perf/lib/include/perf/evsel.h
43
+++ b/tools/perf/lib/include/perf/evsel.h
44
45
#ifndef __LIBPERF_EVSEL_H
46
#define __LIBPERF_EVSEL_H
47
48
+#include <perf/core.h>
49
+
50
struct perf_evsel;
51
52
+LIBPERF_API void perf_evsel__init(struct perf_evsel *evsel);
53
+
54
#endif /* __LIBPERF_EVSEL_H */
55
diff --git a/tools/perf/lib/libperf.map b/tools/perf/lib/libperf.map
56
index c4f611010ccc..54f8503c6d82 100644
57
--- a/tools/perf/lib/libperf.map
58
+++ b/tools/perf/lib/libperf.map
59
60
perf_thread_map__comm;
61
perf_thread_map__get;
62
perf_thread_map__put;
63
+ perf_evsel__init;
64
local:
65
*;
66
};
67
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
68
index 8fed22d889a4..172bcc2e198f 100644
69
--- a/tools/perf/util/evsel.c
70
+++ b/tools/perf/util/evsel.c
71
72
#include <sys/resource.h>
73
#include <sys/types.h>
74
#include <dirent.h>
75
+#include <perf/evsel.h>
76
#include "asm/bug.h"
77
#include "callchain.h"
78
#include "cgroup.h"
79
80
void evsel__init(struct evsel *evsel,
81
struct perf_event_attr *attr, int idx)
82
{
83
+ perf_evsel__init(&evsel->core);
84
evsel->idx = idx;
85
evsel->tracking = !idx;
86
evsel->attr = *attr;
87
88
evsel->evlist = NULL;
89
evsel->bpf_obj = NULL;
90
evsel->bpf_fd = -1;
91
- INIT_LIST_HEAD(&evsel->core.node);
92
INIT_LIST_HEAD(&evsel->config_terms);
93
perf_evsel__object.init(evsel);
94
evsel->sample_size = __perf_evsel__sample_size(attr->sample_type);
95
96