[PATCH 38/79] libperf: Add perf_evlist__init function

From: Jiri Olsa
Date: Sun Jul 21 2019 - 07:29:38 EST


Adding perf_evlist__init function to initialize
perf_evlist struct.

Link: http://lkml.kernel.org/n/tip-uhs894b98iiydutjgr1z5t8h@xxxxxxxxxxxxxx
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
---
tools/perf/lib/evlist.c | 5 +++++
tools/perf/lib/include/perf/evlist.h | 4 ++++
tools/perf/lib/libperf.map | 1 +
tools/perf/util/evlist.c | 3 ++-
4 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/tools/perf/lib/evlist.c b/tools/perf/lib/evlist.c
index 646bdd518793..fdc8c1894b37 100644
--- a/tools/perf/lib/evlist.c
+++ b/tools/perf/lib/evlist.c
@@ -2,3 +2,8 @@
#include <perf/evlist.h>
#include <linux/list.h>
#include <internal/evlist.h>
+
+void perf_evlist__init(struct perf_evlist *evlist)
+{
+ INIT_LIST_HEAD(&evlist->entries);
+}
diff --git a/tools/perf/lib/include/perf/evlist.h b/tools/perf/lib/include/perf/evlist.h
index 92b0eb39caec..1ddfcca0bd01 100644
--- a/tools/perf/lib/include/perf/evlist.h
+++ b/tools/perf/lib/include/perf/evlist.h
@@ -2,6 +2,10 @@
#ifndef __LIBPERF_EVLIST_H
#define __LIBPERF_EVLIST_H

+#include <perf/core.h>
+
struct perf_evlist;

+LIBPERF_API void perf_evlist__init(struct perf_evlist *evlist);
+
#endif /* __LIBPERF_EVLIST_H */
diff --git a/tools/perf/lib/libperf.map b/tools/perf/lib/libperf.map
index 54f8503c6d82..5ca6ff6fcdfa 100644
--- a/tools/perf/lib/libperf.map
+++ b/tools/perf/lib/libperf.map
@@ -10,6 +10,7 @@ LIBPERF_0.0.1 {
perf_thread_map__get;
perf_thread_map__put;
perf_evsel__init;
+ perf_evlist__init;
local:
*;
};
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index faf3ffd81d4c..aacddd9b2d64 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -33,6 +33,7 @@
#include <linux/log2.h>
#include <linux/err.h>
#include <linux/zalloc.h>
+#include <perf/evlist.h>

#ifdef LACKS_SIGQUEUE_PROTOTYPE
int sigqueue(pid_t pid, int sig, const union sigval value);
@@ -48,11 +49,11 @@ void evlist__init(struct evlist *evlist, struct perf_cpu_map *cpus,

for (i = 0; i < PERF_EVLIST__HLIST_SIZE; ++i)
INIT_HLIST_HEAD(&evlist->heads[i]);
- INIT_LIST_HEAD(&evlist->core.entries);
perf_evlist__set_maps(evlist, cpus, threads);
fdarray__init(&evlist->pollfd, 64);
evlist->workload.pid = -1;
evlist->bkw_mmap_state = BKW_MMAP_NOTREADY;
+ perf_evlist__init(&evlist->core);
}

struct evlist *evlist__new(void)
--
2.21.0