[PATCH 23/73] libperf: Move sample_id from struct evsel to struct perf_evsel

From: Jiri Olsa
Date: Fri Sep 13 2019 - 09:25:03 EST


Move sample_id array from struct evsel to libperf's struct perf_evsel.

Link: http://lkml.kernel.org/n/tip-kmjcz9zfed37v38vk3euvp8w@xxxxxxxxxxxxxx
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
---
tools/perf/builtin-stat.c | 2 +-
tools/perf/lib/include/internal/evsel.h | 1 +
tools/perf/util/evlist.c | 4 ++--
tools/perf/util/evsel.c | 12 ++++++------
tools/perf/util/evsel.h | 1 -
5 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 35897048ba53..292fccf8f13c 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -233,7 +233,7 @@ static int write_stat_round_event(u64 tm, u64 type)
#define WRITE_STAT_ROUND_EVENT(time, interval) \
write_stat_round_event(time, PERF_STAT_ROUND_TYPE__ ## interval)

-#define SID(e, x, y) xyarray__entry(e->sample_id, x, y)
+#define SID(e, x, y) xyarray__entry(e->core.sample_id, x, y)

static int
perf_evsel__write_stat_event(struct evsel *counter, u32 cpu, u32 thread,
diff --git a/tools/perf/lib/include/internal/evsel.h b/tools/perf/lib/include/internal/evsel.h
index 220cb2e2b54e..d284825383af 100644
--- a/tools/perf/lib/include/internal/evsel.h
+++ b/tools/perf/lib/include/internal/evsel.h
@@ -15,6 +15,7 @@ struct perf_evsel {
struct perf_cpu_map *own_cpus;
struct perf_thread_map *threads;
struct xyarray *fd;
+ struct xyarray *sample_id;

/* parse modifier helper */
int nr_members;
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index 8f5b28eefde7..4018f0ff75c8 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -49,7 +49,7 @@ int sigqueue(pid_t pid, int sig, const union sigval value);
#endif

#define FD(e, x, y) (*(int *)xyarray__entry(e->core.fd, x, y))
-#define SID(e, x, y) xyarray__entry(e->sample_id, x, y)
+#define SID(e, x, y) xyarray__entry(e->core.sample_id, x, y)

void evlist__init(struct evlist *evlist, struct perf_cpu_map *cpus,
struct perf_thread_map *threads)
@@ -1020,7 +1020,7 @@ int evlist__mmap_ex(struct evlist *evlist, unsigned int pages,

evlist__for_each_entry(evlist, evsel) {
if ((evsel->core.attr.read_format & PERF_FORMAT_ID) &&
- evsel->sample_id == NULL &&
+ evsel->core.sample_id == NULL &&
perf_evsel__alloc_id(evsel, perf_cpu_map__nr(cpus), threads->nr) < 0)
return -ENOMEM;
}
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 9dcee5a8875e..db89f98bb357 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -1234,14 +1234,14 @@ int perf_evsel__alloc_id(struct evsel *evsel, int ncpus, int nthreads)
if (evsel->core.system_wide)
nthreads = 1;

- evsel->sample_id = xyarray__new(ncpus, nthreads, sizeof(struct perf_sample_id));
- if (evsel->sample_id == NULL)
+ evsel->core.sample_id = xyarray__new(ncpus, nthreads, sizeof(struct perf_sample_id));
+ if (evsel->core.sample_id == NULL)
return -ENOMEM;

evsel->id = zalloc(ncpus * nthreads * sizeof(u64));
if (evsel->id == NULL) {
- xyarray__delete(evsel->sample_id);
- evsel->sample_id = NULL;
+ xyarray__delete(evsel->core.sample_id);
+ evsel->core.sample_id = NULL;
return -ENOMEM;
}

@@ -1250,8 +1250,8 @@ int perf_evsel__alloc_id(struct evsel *evsel, int ncpus, int nthreads)

static void perf_evsel__free_id(struct evsel *evsel)
{
- xyarray__delete(evsel->sample_id);
- evsel->sample_id = NULL;
+ xyarray__delete(evsel->core.sample_id);
+ evsel->core.sample_id = NULL;
zfree(&evsel->id);
evsel->ids = 0;
}
diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
index eb4d03cd0b17..9934e99e0c64 100644
--- a/tools/perf/util/evsel.h
+++ b/tools/perf/util/evsel.h
@@ -117,7 +117,6 @@ struct evsel {
struct perf_evsel core;
struct evlist *evlist;
char *filter;
- struct xyarray *sample_id;
u64 *id;
struct perf_counts *counts;
struct perf_counts *prev_raw_counts;
--
2.21.0