summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@kernel.org>2019-09-02 16:04:12 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2019-09-25 08:51:47 -0400
commit8cd36f3ef4926165bc5e5af6f7d7b45f0e14a1f4 (patch)
tree3e75c58ee927edbcfda11336ecd787b9cdffdb29
parentfee92b4442f135495d4fc59a0b9418490d4ac0ba (diff)
libperf: Move 'sample_id' from 'struct evsel' to 'struct perf_evsel'
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>
-rw-r--r--tools/perf/builtin-stat.c2
-rw-r--r--tools/perf/lib/include/internal/evsel.h1
-rw-r--r--tools/perf/util/evlist.c4
-rw-r--r--tools/perf/util/evsel.c12
-rw-r--r--tools/perf/util/evsel.h2
5 files changed, 10 insertions, 11 deletions
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 0d55eb6bd6e2..468fc49420ce 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -235,7 +235,7 @@ static int write_stat_round_event(u64 tm, u64 type)
235#define WRITE_STAT_ROUND_EVENT(time, interval) \ 235#define WRITE_STAT_ROUND_EVENT(time, interval) \
236 write_stat_round_event(time, PERF_STAT_ROUND_TYPE__ ## interval) 236 write_stat_round_event(time, PERF_STAT_ROUND_TYPE__ ## interval)
237 237
238#define SID(e, x, y) xyarray__entry(e->sample_id, x, y) 238#define SID(e, x, y) xyarray__entry(e->core.sample_id, x, y)
239 239
240static int 240static int
241perf_evsel__write_stat_event(struct evsel *counter, u32 cpu, u32 thread, 241perf_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 60daee6db914..1ddb969f7807 100644
--- a/tools/perf/lib/include/internal/evsel.h
+++ b/tools/perf/lib/include/internal/evsel.h
@@ -17,6 +17,7 @@ struct perf_evsel {
17 struct perf_cpu_map *own_cpus; 17 struct perf_cpu_map *own_cpus;
18 struct perf_thread_map *threads; 18 struct perf_thread_map *threads;
19 struct xyarray *fd; 19 struct xyarray *fd;
20 struct xyarray *sample_id;
20 21
21 /* parse modifier helper */ 22 /* parse modifier helper */
22 int nr_members; 23 int nr_members;
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index 13595e8e6b4b..84b409802298 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -50,7 +50,7 @@ int sigqueue(pid_t pid, int sig, const union sigval value);
50#endif 50#endif
51 51
52#define FD(e, x, y) (*(int *)xyarray__entry(e->core.fd, x, y)) 52#define FD(e, x, y) (*(int *)xyarray__entry(e->core.fd, x, y))
53#define SID(e, x, y) xyarray__entry(e->sample_id, x, y) 53#define SID(e, x, y) xyarray__entry(e->core.sample_id, x, y)
54 54
55void evlist__init(struct evlist *evlist, struct perf_cpu_map *cpus, 55void evlist__init(struct evlist *evlist, struct perf_cpu_map *cpus,
56 struct perf_thread_map *threads) 56 struct perf_thread_map *threads)
@@ -1021,7 +1021,7 @@ int evlist__mmap_ex(struct evlist *evlist, unsigned int pages,
1021 1021
1022 evlist__for_each_entry(evlist, evsel) { 1022 evlist__for_each_entry(evlist, evsel) {
1023 if ((evsel->core.attr.read_format & PERF_FORMAT_ID) && 1023 if ((evsel->core.attr.read_format & PERF_FORMAT_ID) &&
1024 evsel->sample_id == NULL && 1024 evsel->core.sample_id == NULL &&
1025 perf_evsel__alloc_id(evsel, perf_cpu_map__nr(cpus), threads->nr) < 0) 1025 perf_evsel__alloc_id(evsel, perf_cpu_map__nr(cpus), threads->nr) < 0)
1026 return -ENOMEM; 1026 return -ENOMEM;
1027 } 1027 }
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 566c9413246c..cb1ada8cf4a4 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -1235,14 +1235,14 @@ int perf_evsel__alloc_id(struct evsel *evsel, int ncpus, int nthreads)
1235 if (evsel->core.system_wide) 1235 if (evsel->core.system_wide)
1236 nthreads = 1; 1236 nthreads = 1;
1237 1237
1238 evsel->sample_id = xyarray__new(ncpus, nthreads, sizeof(struct perf_sample_id)); 1238 evsel->core.sample_id = xyarray__new(ncpus, nthreads, sizeof(struct perf_sample_id));
1239 if (evsel->sample_id == NULL) 1239 if (evsel->core.sample_id == NULL)
1240 return -ENOMEM; 1240 return -ENOMEM;
1241 1241
1242 evsel->id = zalloc(ncpus * nthreads * sizeof(u64)); 1242 evsel->id = zalloc(ncpus * nthreads * sizeof(u64));
1243 if (evsel->id == NULL) { 1243 if (evsel->id == NULL) {
1244 xyarray__delete(evsel->sample_id); 1244 xyarray__delete(evsel->core.sample_id);
1245 evsel->sample_id = NULL; 1245 evsel->core.sample_id = NULL;
1246 return -ENOMEM; 1246 return -ENOMEM;
1247 } 1247 }
1248 1248
@@ -1251,8 +1251,8 @@ int perf_evsel__alloc_id(struct evsel *evsel, int ncpus, int nthreads)
1251 1251
1252static void perf_evsel__free_id(struct evsel *evsel) 1252static void perf_evsel__free_id(struct evsel *evsel)
1253{ 1253{
1254 xyarray__delete(evsel->sample_id); 1254 xyarray__delete(evsel->core.sample_id);
1255 evsel->sample_id = NULL; 1255 evsel->core.sample_id = NULL;
1256 zfree(&evsel->id); 1256 zfree(&evsel->id);
1257 evsel->ids = 0; 1257 evsel->ids = 0;
1258} 1258}
diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
index f757ff449a17..2d2c6cad81f8 100644
--- a/tools/perf/util/evsel.h
+++ b/tools/perf/util/evsel.h
@@ -96,7 +96,6 @@ enum perf_tool_event {
96 96
97struct bpf_object; 97struct bpf_object;
98struct perf_counts; 98struct perf_counts;
99struct xyarray;
100 99
101/** struct evsel - event selector 100/** struct evsel - event selector
102 * 101 *
@@ -117,7 +116,6 @@ struct evsel {
117 struct perf_evsel core; 116 struct perf_evsel core;
118 struct evlist *evlist; 117 struct evlist *evlist;
119 char *filter; 118 char *filter;
120 struct xyarray *sample_id;
121 u64 *id; 119 u64 *id;
122 struct perf_counts *counts; 120 struct perf_counts *counts;
123 struct perf_counts *prev_raw_counts; 121 struct perf_counts *prev_raw_counts;