libperf: Move 'sample_id' from 'struct evsel' to 'struct perf_evsel'
authorJiri Olsa <jolsa@kernel.org>
Mon, 2 Sep 2019 20:04:12 +0000 (22:04 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 25 Sep 2019 12:51:47 +0000 (09:51 -0300)
Move 'sample_id' array from 'struct evsel' to libperf's 'struct perf_evsel'.

Committer notes:

Removed the 'struct xyarray' from util/evsel.h, not needed anymore
there.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lore.kernel.org/lkml/20190913132355.21634-24-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-stat.c
tools/perf/lib/include/internal/evsel.h
tools/perf/util/evlist.c
tools/perf/util/evsel.c
tools/perf/util/evsel.h

index 0d55eb6bd6e2a0643961f7ad35d18d38cd33ccf4..468fc49420ce1848ba54616f9ee548c52c845524 100644 (file)
@@ -235,7 +235,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,
index 60daee6db914c09f487285b0e47d84d7e0020532..1ddb969f780766b6116271a7536067ca3183f728 100644 (file)
@@ -17,6 +17,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;
index 13595e8e6b4b775342f17ca6d298170ea3cb0b8c..84b4098022981c14c15d9a940cf4d44443af55e2 100644 (file)
@@ -50,7 +50,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)
@@ -1021,7 +1021,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;
        }
index 566c9413246cccb8d757f139bbc087493b0f2623..cb1ada8cf4a43c29ef6cae80fdbcab76253c914a 100644 (file)
@@ -1235,14 +1235,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;
        }
 
@@ -1251,8 +1251,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;
 }
index f757ff449a1728a571914961c4027ff2da4d0ffc..2d2c6cad81f86ef6b0a09dd47f2d0268cfed1364 100644 (file)
@@ -96,7 +96,6 @@ enum perf_tool_event {
 
 struct bpf_object;
 struct perf_counts;
-struct xyarray;
 
 /** struct evsel - event selector
  *
@@ -117,7 +116,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;