All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: lkml <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Michael Petlan <mpetlan@redhat.com>
Subject: [PATCH 24/73] libperf: Move id from struct evsel to struct perf_evsel
Date: Fri, 13 Sep 2019 15:23:06 +0200	[thread overview]
Message-ID: <20190913132355.21634-25-jolsa@kernel.org> (raw)
In-Reply-To: <20190913132355.21634-1-jolsa@kernel.org>

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

Link: http://lkml.kernel.org/n/tip-2m29l53x7qzpyk7gp9s8fw2a@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 tools/perf/lib/include/internal/evsel.h |  1 +
 tools/perf/util/evlist.c                |  2 +-
 tools/perf/util/evsel.c                 |  6 +++---
 tools/perf/util/evsel.h                 |  1 -
 tools/perf/util/header.c                | 20 ++++++++++----------
 tools/perf/util/intel-bts.c             |  2 +-
 tools/perf/util/intel-pt.c              |  8 ++++----
 tools/perf/util/session.c               |  2 +-
 8 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/tools/perf/lib/include/internal/evsel.h b/tools/perf/lib/include/internal/evsel.h
index d284825383af..bea14e6e28f5 100644
--- a/tools/perf/lib/include/internal/evsel.h
+++ b/tools/perf/lib/include/internal/evsel.h
@@ -16,6 +16,7 @@ struct perf_evsel {
 	struct perf_thread_map	*threads;
 	struct xyarray		*fd;
 	struct xyarray		*sample_id;
+	u64			*id;
 
 	/* parse modifier helper */
 	int			 nr_members;
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index 4018f0ff75c8..ae7f62ae1d29 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -481,7 +481,7 @@ void perf_evlist__id_add(struct evlist *evlist, struct evsel *evsel,
 			 int cpu, int thread, u64 id)
 {
 	perf_evlist__id_hash(evlist, evsel, cpu, thread, id);
-	evsel->id[evsel->ids++] = id;
+	evsel->core.id[evsel->ids++] = id;
 }
 
 int perf_evlist__id_add_fd(struct evlist *evlist,
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index db89f98bb357..194bead17f64 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -1238,8 +1238,8 @@ int perf_evsel__alloc_id(struct evsel *evsel, int ncpus, int nthreads)
 	if (evsel->core.sample_id == NULL)
 		return -ENOMEM;
 
-	evsel->id = zalloc(ncpus * nthreads * sizeof(u64));
-	if (evsel->id == NULL) {
+	evsel->core.id = zalloc(ncpus * nthreads * sizeof(u64));
+	if (evsel->core.id == NULL) {
 		xyarray__delete(evsel->core.sample_id);
 		evsel->core.sample_id = NULL;
 		return -ENOMEM;
@@ -1252,7 +1252,7 @@ static void perf_evsel__free_id(struct evsel *evsel)
 {
 	xyarray__delete(evsel->core.sample_id);
 	evsel->core.sample_id = NULL;
-	zfree(&evsel->id);
+	zfree(&evsel->core.id);
 	evsel->ids = 0;
 }
 
diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
index 9934e99e0c64..f313e07925c4 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;
-	u64			*id;
 	struct perf_counts	*counts;
 	struct perf_counts	*prev_raw_counts;
 	int			idx;
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
index b0c34dda30a0..ebdabaa33d8b 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -538,7 +538,7 @@ static int write_event_desc(struct feat_fd *ff,
 		/*
 		 * write unique ids for this event
 		 */
-		ret = do_write(ff, evsel->id, evsel->ids * sizeof(u64));
+		ret = do_write(ff, evsel->core.id, evsel->ids * sizeof(u64));
 		if (ret < 0)
 			return ret;
 	}
@@ -1598,7 +1598,7 @@ static void free_event_desc(struct evsel *events)
 
 	for (evsel = events; evsel->core.attr.size; evsel++) {
 		zfree(&evsel->name);
-		zfree(&evsel->id);
+		zfree(&evsel->core.id);
 	}
 
 	free(events);
@@ -1665,7 +1665,7 @@ static struct evsel *read_event_desc(struct feat_fd *ff)
 		if (!id)
 			goto error;
 		evsel->ids = nr;
-		evsel->id = id;
+		evsel->core.id = id;
 
 		for (j = 0 ; j < nr; j++) {
 			if (do_read_u64(ff, id))
@@ -1709,7 +1709,7 @@ static void print_event_desc(struct feat_fd *ff, FILE *fp)
 
 		if (evsel->ids) {
 			fprintf(fp, ", id = {");
-			for (j = 0, id = evsel->id; j < evsel->ids; j++, id++) {
+			for (j = 0, id = evsel->core.id; j < evsel->ids; j++, id++) {
 				if (j)
 					fputc(',', fp);
 				fprintf(fp, " %"PRIu64, *id);
@@ -3083,7 +3083,7 @@ int perf_session__write_header(struct perf_session *session,
 
 	evlist__for_each_entry(session->evlist, evsel) {
 		evsel->id_offset = lseek(fd, 0, SEEK_CUR);
-		err = do_write(&ff, evsel->id, evsel->ids * sizeof(u64));
+		err = do_write(&ff, evsel->core.id, evsel->ids * sizeof(u64));
 		if (err < 0) {
 			pr_debug("failed to write perf header\n");
 			return err;
@@ -3824,7 +3824,7 @@ perf_event__synthesize_event_update_unit(struct perf_tool *tool,
 	size_t size = strlen(evsel->unit);
 	int err;
 
-	ev = event_update_event__new(size + 1, PERF_EVENT_UPDATE__UNIT, evsel->id[0]);
+	ev = event_update_event__new(size + 1, PERF_EVENT_UPDATE__UNIT, evsel->core.id[0]);
 	if (ev == NULL)
 		return -ENOMEM;
 
@@ -3843,7 +3843,7 @@ perf_event__synthesize_event_update_scale(struct perf_tool *tool,
 	struct perf_record_event_update_scale *ev_data;
 	int err;
 
-	ev = event_update_event__new(sizeof(*ev_data), PERF_EVENT_UPDATE__SCALE, evsel->id[0]);
+	ev = event_update_event__new(sizeof(*ev_data), PERF_EVENT_UPDATE__SCALE, evsel->core.id[0]);
 	if (ev == NULL)
 		return -ENOMEM;
 
@@ -3863,7 +3863,7 @@ perf_event__synthesize_event_update_name(struct perf_tool *tool,
 	size_t len = strlen(evsel->name);
 	int err;
 
-	ev = event_update_event__new(len + 1, PERF_EVENT_UPDATE__NAME, evsel->id[0]);
+	ev = event_update_event__new(len + 1, PERF_EVENT_UPDATE__NAME, evsel->core.id[0]);
 	if (ev == NULL)
 		return -ENOMEM;
 
@@ -3893,7 +3893,7 @@ perf_event__synthesize_event_update_cpus(struct perf_tool *tool,
 	ev->header.type = PERF_RECORD_EVENT_UPDATE;
 	ev->header.size = (u16)size;
 	ev->type = PERF_EVENT_UPDATE__CPUS;
-	ev->id   = evsel->id[0];
+	ev->id   = evsel->core.id[0];
 
 	cpu_map_data__synthesize((struct perf_record_cpu_map_data *)ev->data,
 				 evsel->core.own_cpus,
@@ -3952,7 +3952,7 @@ int perf_event__synthesize_attrs(struct perf_tool *tool,
 
 	evlist__for_each_entry(evlist, evsel) {
 		err = perf_event__synthesize_attr(tool, &evsel->core.attr, evsel->ids,
-						  evsel->id, process);
+						  evsel->core.id, process);
 		if (err) {
 			pr_debug("failed to create perf header attribute\n");
 			return err;
diff --git a/tools/perf/util/intel-bts.c b/tools/perf/util/intel-bts.c
index aacffa2b0362..daf42915b326 100644
--- a/tools/perf/util/intel-bts.c
+++ b/tools/perf/util/intel-bts.c
@@ -795,7 +795,7 @@ static int intel_bts_synth_events(struct intel_bts *bts,
 	attr.sample_id_all = evsel->core.attr.sample_id_all;
 	attr.read_format = evsel->core.attr.read_format;
 
-	id = evsel->id[0] + 1000000000;
+	id = evsel->core.id[0] + 1000000000;
 	if (!id)
 		id = 1;
 
diff --git a/tools/perf/util/intel-pt.c b/tools/perf/util/intel-pt.c
index 9b56fb74bedf..4a1d46158401 100644
--- a/tools/perf/util/intel-pt.c
+++ b/tools/perf/util/intel-pt.c
@@ -1704,7 +1704,7 @@ static int intel_pt_synth_pebs_sample(struct intel_pt_queue *ptq)
 	struct intel_pt *pt = ptq->pt;
 	struct evsel *evsel = pt->pebs_evsel;
 	u64 sample_type = evsel->core.attr.sample_type;
-	u64 id = evsel->id[0];
+	u64 id = evsel->core.id[0];
 	u8 cpumode;
 
 	if (intel_pt_skip_event(pt))
@@ -2719,7 +2719,7 @@ static void intel_pt_set_event_name(struct evlist *evlist, u64 id,
 	struct evsel *evsel;
 
 	evlist__for_each_entry(evlist, evsel) {
-		if (evsel->id && evsel->id[0] == id) {
+		if (evsel->core.id && evsel->core.id[0] == id) {
 			if (evsel->name)
 				zfree(&evsel->name);
 			evsel->name = strdup(name);
@@ -2775,7 +2775,7 @@ static int intel_pt_synth_events(struct intel_pt *pt,
 	attr.sample_id_all = evsel->core.attr.sample_id_all;
 	attr.read_format = evsel->core.attr.read_format;
 
-	id = evsel->id[0] + 1000000000;
+	id = evsel->core.id[0] + 1000000000;
 	if (!id)
 		id = 1;
 
@@ -2902,7 +2902,7 @@ static void intel_pt_setup_pebs_events(struct intel_pt *pt)
 		return;
 
 	evlist__for_each_entry(pt->session->evlist, evsel) {
-		if (evsel->core.attr.aux_output && evsel->id) {
+		if (evsel->core.attr.aux_output && evsel->core.id) {
 			pt->sample_pebs = true;
 			pt->pebs_evsel = evsel;
 			return;
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index e9e4a04f15db..f50cd54cf96b 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -2458,7 +2458,7 @@ int perf_event__synthesize_id_index(struct perf_tool *tool,
 
 			e = &ev->id_index.entries[i++];
 
-			e->id = evsel->id[j];
+			e->id = evsel->core.id[j];
 
 			sid = perf_evlist__id2sid(evlist, e->id);
 			if (!sid) {
-- 
2.21.0


  parent reply	other threads:[~2019-09-13 13:25 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-13 13:22 [RFC 00/73] libperf: Add sampling interface Jiri Olsa
2019-09-13 13:22 ` [PATCH 01/73] tools: Add missing stdio.h include to asm/bug.h header Jiri Olsa
2019-09-13 13:22 ` [PATCH 02/73] perf tests: Fix static build test Jiri Olsa
2019-09-13 13:22 ` [PATCH 03/73] perf tools: Rename struct perf_mmap to struct mmap Jiri Olsa
2019-09-13 13:22 ` [PATCH 04/73] perf tools: Rename perf_evlist__mmap() to evlist__mmap() Jiri Olsa
2019-09-13 13:22 ` [PATCH 05/73] perf tools: Rename perf_evlist__munmap() to evlist__munmap() Jiri Olsa
2019-09-13 13:22 ` [PATCH 06/73] perf tools: Rename perf_evlist__alloc_mmap() to evlist__alloc_mmap() Jiri Olsa
2019-09-13 13:22 ` [PATCH 07/73] perf tools: Rename perf_evlist__exit() to evlist__exit() Jiri Olsa
2019-09-13 13:22 ` [PATCH 08/73] perf tools: Rename perf_evlist__purge() to evlist__purge() Jiri Olsa
2019-09-13 13:22 ` [PATCH 09/73] libperf: Link libapi.a in libperf.so Jiri Olsa
2019-09-13 13:22 ` [PATCH 10/73] libperf: Add perf_mmap struct Jiri Olsa
2019-09-23 15:05   ` Arnaldo Carvalho de Melo
2019-09-23 15:09     ` Jiri Olsa
2019-09-13 13:22 ` [PATCH 11/73] libperf: Add mask to struct perf_mmap Jiri Olsa
2019-09-13 13:22 ` [PATCH 12/73] libperf: Add fd " Jiri Olsa
2019-09-13 13:22 ` [PATCH 13/73] libperf: Add cpu " Jiri Olsa
2019-09-13 13:22 ` [PATCH 14/73] libperf: Add refcnt " Jiri Olsa
2019-09-13 13:22 ` [PATCH 15/73] libperf: Add prev/start/end " Jiri Olsa
2019-09-13 13:22 ` [PATCH 16/73] libperf: Add overwrite " Jiri Olsa
2019-09-13 13:22 ` [PATCH 17/73] libperf: Add event_copy " Jiri Olsa
2019-09-13 13:23 ` [PATCH 18/73] libperf: Add flush " Jiri Olsa
2019-09-13 13:23 ` [PATCH 19/73] libperf: Move system_wide from struct evsel to struct perf_evsel Jiri Olsa
2019-09-23 18:08   ` Arnaldo Carvalho de Melo
2019-09-13 13:23 ` [PATCH 20/73] libperf: Move nr_mmaps from struct evlist to struct perf_evlist Jiri Olsa
2019-09-13 13:23 ` [PATCH 21/73] libperf: Move mmap_len " Jiri Olsa
2019-09-13 13:23 ` [PATCH 22/73] libperf: Move pollfd " Jiri Olsa
2019-09-13 13:23 ` [PATCH 23/73] libperf: Move sample_id from struct evsel to struct perf_evsel Jiri Olsa
2019-09-13 13:23 ` Jiri Olsa [this message]
2019-09-13 13:23 ` [PATCH 25/73] libperf: Move ids " Jiri Olsa
2019-09-13 13:23 ` [PATCH 26/73] libperf: Move heads from struct evlist to struct perf_evlist Jiri Olsa
2019-09-13 13:23 ` [PATCH 27/73] libperf: Add perf_evsel__alloc_id/perf_evsel__free_id functions Jiri Olsa
2019-09-13 13:23 ` [PATCH 28/73] libperf: Add perf_evlist__first/last functions Jiri Olsa
2019-09-13 13:23 ` [PATCH 29/73] libperf: Add perf_evlist__read_format function Jiri Olsa
2019-09-13 13:23 ` [PATCH 30/73] libperf: Add perf_evlist__id_add function Jiri Olsa
2019-09-13 13:23 ` [PATCH 31/73] libperf: Add perf_evlist__id_add_fd function Jiri Olsa
2019-09-13 13:23 ` [PATCH 32/73] libperf: Move page_size into libperf Jiri Olsa
2019-09-23 19:10   ` Arnaldo Carvalho de Melo
2019-09-23 19:17     ` Jiri Olsa
2019-09-13 13:23 ` [PATCH 33/73] libperf: Merge libperf_set_print in libperf_init Jiri Olsa
2019-09-13 13:23 ` [PATCH 34/73] libperf: Add libperf_init call to tests Jiri Olsa
2019-09-13 13:23 ` [PATCH 35/73] libperf: Add libperf dependency for tests targets Jiri Olsa
2019-09-13 13:23 ` [PATCH 36/73] libperf: Add perf_evlist__alloc_pollfd function Jiri Olsa
2019-09-13 13:23 ` [PATCH 37/73] libperf: Add perf_evlist__add_pollfd function Jiri Olsa
2019-09-13 13:23 ` [PATCH 38/73] libperf: Add perf_evlist__poll function Jiri Olsa
2019-09-13 13:23 ` [PATCH 39/73] libperf: Add perf_mmap__init function Jiri Olsa
2019-09-13 13:23 ` [PATCH 40/73] libperf: Add struct perf_mmap_param Jiri Olsa
2019-09-13 13:23 ` [PATCH 41/73] libperf: Add perf_mmap__mmap_len function Jiri Olsa
2019-09-13 13:23 ` [PATCH 42/73] libperf: Add perf_mmap__mmap function Jiri Olsa
2019-09-13 13:23 ` [PATCH 43/73] libperf: Add perf_mmap__get function Jiri Olsa
2019-09-13 13:23 ` [PATCH 44/73] libperf: Add perf_mmap__unmap function Jiri Olsa
2019-09-13 13:23 ` [PATCH 45/73] libperf: Add perf_mmap__put function Jiri Olsa
2019-09-13 13:23 ` [PATCH 46/73] libperf: Add perf_mmap__new function Jiri Olsa
2019-09-13 13:23 ` [PATCH 47/73] perf tools: Use perf_mmap way to detect aux mmap Jiri Olsa
2019-09-13 13:23 ` [PATCH 48/73] libperf: Add perf_mmap__consume function Jiri Olsa
2019-09-13 13:23 ` [PATCH 49/73] libperf: Add perf_mmap__read_init function Jiri Olsa
2019-09-13 13:23 ` [PATCH 50/73] libperf: Add perf_mmap__read_done function Jiri Olsa
2019-09-13 13:23 ` [PATCH 51/73] libperf: Add perf_mmap__read_event function Jiri Olsa
2019-09-13 13:23 ` [PATCH 52/73] libperf: Add perf_evlist__mmap/munmap function Jiri Olsa
2019-09-13 13:23 ` [PATCH 53/73] libperf: Add perf_evlist__mmap_ops function Jiri Olsa
2019-09-13 13:23 ` [PATCH 54/73] libperf: Add perf_evlist_mmap_ops::idx callback Jiri Olsa
2019-09-13 13:23 ` [PATCH 55/73] libperf: Add perf_evlist_mmap_ops::new callback Jiri Olsa
2019-09-13 13:23 ` [PATCH 56/73] libperf: Add perf_evlist_mmap_ops::mmap callback Jiri Olsa
2019-09-13 13:23 ` [PATCH 57/73] perf tools: Add perf_evlist__mmap_cb_idx function Jiri Olsa
2019-09-13 13:23 ` [PATCH 58/73] perf tools: Add perf_evlist__mmap_cb_new function Jiri Olsa
2019-09-13 13:23 ` [PATCH 59/73] perf tools: Add perf_evlist__mmap_cb_mmap function Jiri Olsa
2019-09-13 13:23 ` [PATCH 60/73] perf tools: Switch to libperf mmap interface Jiri Olsa
2019-09-13 13:23 ` [PATCH 61/73] libperf: Move pollfd allocation to libperf Jiri Olsa
2019-09-13 13:23 ` [PATCH 62/73] libperf: Add perf_evlist__exit function Jiri Olsa
2019-09-13 13:23 ` [PATCH 63/73] libperf: Add perf_evlist__purge function Jiri Olsa
2019-09-13 13:23 ` [PATCH 64/73] libperf: Call perf_evlist__munmap/close on perf_evlist__delete Jiri Olsa
2019-09-13 13:23 ` [PATCH 65/73] libperf: Add perf_evlist__filter_pollfd function Jiri Olsa
2019-09-13 13:23 ` [PATCH 66/73] libperf: Add perf_evlist__for_each_mmap function Jiri Olsa
2019-09-13 13:23 ` [PATCH 67/73] libperf: Link static tests with libapi.a Jiri Olsa
2019-09-13 13:23 ` [PATCH 68/73] libperf: Add _GNU_SOURCE define to compilation Jiri Olsa
2019-09-13 13:23 ` [PATCH 69/73] libperf: Add tests_mmap_thread test Jiri Olsa
2019-09-13 13:23 ` [PATCH 70/73] libperf: Add tests_mmap_cpus test Jiri Olsa
2019-09-13 13:23 ` [PATCH 71/73] libperf: Keep count of failed tests Jiri Olsa
2019-09-13 13:23 ` [PATCH 72/73] libperf: Do not export perf_evsel__init/perf_evlist__init Jiri Olsa
2019-09-13 13:23 ` [PATCH 73/73] libperf: Add pr_err macro Jiri Olsa
2019-09-22 14:47 ` [RFC 00/73] libperf: Add sampling interface Jiri Olsa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190913132355.21634-25-jolsa@kernel.org \
    --to=jolsa@kernel.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=mpetlan@redhat.com \
    --cc=namhyung@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.