public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ian Rogers <irogers@google.com>
To: irogers@google.com, acme@kernel.org, namhyung@kernel.org
Cc: adrian.hunter@intel.com, ajones@ventanamicro.com,
	ak@linux.intel.com,  alex@ghiti.fr,
	alexander.shishkin@linux.intel.com, anup@brainfault.org,
	 aou@eecs.berkeley.edu, atrajeev@linux.ibm.com,
	blakejones@google.com,  ctshao@google.com,
	dapeng1.mi@linux.intel.com, derek.foreman@collabora.com,
	 dvyukov@google.com, howardchu95@gmail.com,
	hrishikesh123s@gmail.com,  james.clark@linaro.org,
	jolsa@kernel.org, krzysztof.m.lopatowski@gmail.com,
	 leo.yan@arm.com, linux-kernel@vger.kernel.org,
	 linux-perf-users@vger.kernel.org, linux@treblig.org,
	mingo@redhat.com,  nichen@iscas.ac.cn, palmer@dabbelt.com,
	peterz@infradead.org, pjw@kernel.org,  ravi.bangoria@amd.com,
	swapnil.sapkal@amd.com, tanze@kylinos.cn,
	 thomas.falcon@intel.com, tianyou.li@intel.com,
	yujie.liu@intel.com,  zhouquan@iscas.ac.cn
Subject: [PATCH v11 13/33] perf inject: Don't pass evsel with sample
Date: Sun, 12 Apr 2026 18:22:07 -0700	[thread overview]
Message-ID: <20260413012227.1089445-14-irogers@google.com> (raw)
In-Reply-To: <20260413012227.1089445-1-irogers@google.com>

The sample contains the evsel and so it is unnecessary to pass the
evsel as well. Clean up handling of sample and mmap_evsel when
synthesizing build id events and mmap2 events with build ids. For
callchain walking and things that expect the evsel to match sample,
the sample->evsel shouldn't change. The mmap_evsel should be used when
making mmap2 events. Some minor tweaks to synthetic events to be
robust to evsel being NULL and to remove an unnecessary branch (as the
id sample will be empty) on the evsel.

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/builtin-inject.c        | 52 ++++++++++++++++--------------
 tools/perf/util/synthetic-events.c | 30 ++++++++---------
 tools/perf/util/synthetic-events.h |  2 --
 3 files changed, 40 insertions(+), 44 deletions(-)

diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
index f43c165c3a13..593d3ed5ac47 100644
--- a/tools/perf/builtin-inject.c
+++ b/tools/perf/builtin-inject.c
@@ -146,14 +146,12 @@ struct event_entry {
 static int tool__inject_build_id(const struct perf_tool *tool,
 				 struct perf_sample *sample,
 				 struct machine *machine,
-				 const struct evsel *evsel,
 				 __u16 misc,
 				 const char *filename,
 				 struct dso *dso, u32 flags);
 static int tool__inject_mmap2_build_id(const struct perf_tool *tool,
 				      struct perf_sample *sample,
 				      struct machine *machine,
-				      const struct evsel *evsel,
 				      __u16 misc,
 				      __u32 pid, __u32 tid,
 				      __u64 start, __u64 len, __u64 pgoff,
@@ -356,7 +354,6 @@ perf_inject__cut_auxtrace_sample(struct perf_inject *inject,
 typedef int (*inject_handler)(const struct perf_tool *tool,
 			      union perf_event *event,
 			      struct perf_sample *sample,
-			      struct evsel *evsel,
 			      struct machine *machine);
 
 static int perf_event__repipe_sample(const struct perf_tool *tool,
@@ -369,7 +366,7 @@ static int perf_event__repipe_sample(const struct perf_tool *tool,
 
 	if (evsel && evsel->handler) {
 		inject_handler f = evsel->handler;
-		return f(tool, event, sample, evsel, machine);
+		return f(tool, event, sample, machine);
 	}
 
 	build_id__mark_dso_hit(tool, event, sample, machine);
@@ -583,11 +580,12 @@ static int perf_event__repipe_common_mmap(const struct perf_tool *tool,
 		}
 
 		if (dso && !dso__hit(dso)) {
-			struct evsel *evsel = evlist__event2evsel(inject->session->evlist, event);
+			if (!sample->evsel)
+				sample->evsel = evlist__event2evsel(inject->session->evlist, event);
 
-			if (evsel) {
+			if (sample->evsel) {
 				dso__set_hit(dso);
-				tool__inject_build_id(tool, sample, machine, evsel,
+				tool__inject_build_id(tool, sample, machine,
 						      /*misc=*/sample->cpumode,
 						      filename, dso, flags);
 			}
@@ -614,23 +612,26 @@ static int perf_event__repipe_common_mmap(const struct perf_tool *tool,
 	}
 	if ((inject->build_id_style == BID_RWS__MMAP2_BUILDID_ALL) &&
 	    !(event->header.misc & PERF_RECORD_MISC_MMAP_BUILD_ID)) {
-		struct evsel *evsel = evlist__event2evsel(inject->session->evlist, event);
+		struct evsel *saved_evsel = sample->evsel;
 
-		if (evsel && !dso_sought) {
+		sample->evsel = evlist__event2evsel(inject->session->evlist, event);
+		if (sample->evsel && !dso_sought) {
 			dso = findnew_dso(pid, tid, filename, dso_id, machine);
 			dso_sought = true;
 		}
-		if (evsel && dso &&
-		    !tool__inject_mmap2_build_id(tool, sample, machine, evsel,
+		if (sample->evsel && dso &&
+		    !tool__inject_mmap2_build_id(tool, sample, machine,
 						 sample->cpumode | PERF_RECORD_MISC_MMAP_BUILD_ID,
 						 pid, tid, start, len, pgoff,
 						 dso,
 						 prot, flags,
 						 filename)) {
 			/* Injected mmap2 so no need to repipe. */
+			sample->evsel = saved_evsel;
 			dso__put(dso);
 			return 0;
 		}
+		sample->evsel = saved_evsel;
 	}
 	dso__put(dso);
 	if (inject->build_id_style == BID_RWS__MMAP2_BUILDID_LAZY)
@@ -835,7 +836,6 @@ static bool perf_inject__lookup_known_build_id(struct perf_inject *inject,
 static int tool__inject_build_id(const struct perf_tool *tool,
 				 struct perf_sample *sample,
 				 struct machine *machine,
-				 const struct evsel *evsel,
 				 __u16 misc,
 				 const char *filename,
 				 struct dso *dso, u32 flags)
@@ -859,7 +859,7 @@ static int tool__inject_build_id(const struct perf_tool *tool,
 
 	err = perf_event__synthesize_build_id(tool, sample, machine,
 					      perf_event__repipe,
-					      evsel, misc, dso__bid(dso),
+					      misc, dso__bid(dso),
 					      filename);
 	if (err) {
 		pr_err("Can't synthesize build_id event for %s\n", filename);
@@ -872,7 +872,6 @@ static int tool__inject_build_id(const struct perf_tool *tool,
 static int tool__inject_mmap2_build_id(const struct perf_tool *tool,
 				       struct perf_sample *sample,
 				       struct machine *machine,
-				       const struct evsel *evsel,
 				       __u16 misc,
 				       __u32 pid, __u32 tid,
 				       __u64 start, __u64 len, __u64 pgoff,
@@ -895,7 +894,6 @@ static int tool__inject_mmap2_build_id(const struct perf_tool *tool,
 
 	err = perf_event__synthesize_mmap2_build_id(tool, sample, machine,
 						    perf_event__repipe,
-						    evsel,
 						    misc, pid, tid,
 						    start, len, pgoff,
 						    dso__bid(dso),
@@ -912,7 +910,7 @@ static int mark_dso_hit(const struct perf_inject *inject,
 			const struct perf_tool *tool,
 			struct perf_sample *sample,
 			struct machine *machine,
-			const struct evsel *mmap_evsel,
+			struct evsel *mmap_evsel,
 			struct map *map, bool sample_in_dso)
 {
 	struct dso *dso;
@@ -940,9 +938,13 @@ static int mark_dso_hit(const struct perf_inject *inject,
 	dso = map__dso(map);
 	if (inject->build_id_style == BID_RWS__INJECT_HEADER_LAZY) {
 		if (dso && !dso__hit(dso)) {
+			/*
+			 * The sample is just read for identifiers which we want
+			 * to match the for the event of the sample.
+			 */
 			dso__set_hit(dso);
 			tool__inject_build_id(tool, sample, machine,
-					     mmap_evsel, misc, dso__long_name(dso), dso,
+					     misc, dso__long_name(dso), dso,
 					     map__flags(map));
 		}
 	} else if (inject->build_id_style == BID_RWS__MMAP2_BUILDID_LAZY) {
@@ -950,11 +952,13 @@ static int mark_dso_hit(const struct perf_inject *inject,
 			const struct build_id null_bid = { .size = 0 };
 			const struct build_id *bid = dso ? dso__bid(dso) : &null_bid;
 			const char *filename = dso ? dso__long_name(dso) : "";
+			struct evsel *saved_evsel = sample->evsel;
 
 			map__set_hit(map);
+			/* Creating a new mmap2 event which has an evsel for the mmap event. */
+			sample->evsel = mmap_evsel;
 			perf_event__synthesize_mmap2_build_id(tool, sample, machine,
 								perf_event__repipe,
-								mmap_evsel,
 								misc,
 								sample->pid, sample->tid,
 								map__start(map),
@@ -964,6 +968,7 @@ static int mark_dso_hit(const struct perf_inject *inject,
 								map__prot(map),
 								map__flags(map),
 								filename);
+			sample->evsel = saved_evsel;
 		}
 	}
 	return 0;
@@ -974,7 +979,7 @@ struct mark_dso_hit_args {
 	const struct perf_tool *tool;
 	struct perf_sample *sample;
 	struct machine *machine;
-	const struct evsel *mmap_evsel;
+	struct evsel *mmap_evsel;
 };
 
 static int mark_dso_hit_callback(struct callchain_cursor_node *node, void *data)
@@ -1029,7 +1034,6 @@ static int perf_event__inject_buildid(const struct perf_tool *tool, union perf_e
 static int perf_inject__sched_process_exit(const struct perf_tool *tool,
 					   union perf_event *event __maybe_unused,
 					   struct perf_sample *sample,
-					   struct evsel *evsel __maybe_unused,
 					   struct machine *machine __maybe_unused)
 {
 	struct perf_inject *inject = container_of(tool, struct perf_inject, tool);
@@ -1049,13 +1053,12 @@ static int perf_inject__sched_process_exit(const struct perf_tool *tool,
 static int perf_inject__sched_switch(const struct perf_tool *tool,
 				     union perf_event *event,
 				     struct perf_sample *sample,
-				     struct evsel *evsel,
 				     struct machine *machine)
 {
 	struct perf_inject *inject = container_of(tool, struct perf_inject, tool);
 	struct event_entry *ent;
 
-	perf_inject__sched_process_exit(tool, event, sample, evsel, machine);
+	perf_inject__sched_process_exit(tool, event, sample, machine);
 
 	ent = malloc(event->header.size + sizeof(struct event_entry));
 	if (ent == NULL) {
@@ -1074,13 +1077,13 @@ static int perf_inject__sched_switch(const struct perf_tool *tool,
 static int perf_inject__sched_stat(const struct perf_tool *tool,
 				   union perf_event *event __maybe_unused,
 				   struct perf_sample *sample,
-				   struct evsel *evsel,
 				   struct machine *machine)
 {
 	struct event_entry *ent;
 	union perf_event *event_sw;
 	struct perf_sample sample_sw;
 	struct perf_inject *inject = container_of(tool, struct perf_inject, tool);
+	struct evsel *evsel = sample->evsel;
 	u32 pid = perf_sample__intval(sample, "pid");
 	int ret;
 
@@ -1445,7 +1448,7 @@ static int synthesize_build_id(struct perf_inject *inject, struct dso *dso, pid_
 	dso__set_hit(dso);
 
 	return perf_event__synthesize_build_id(&inject->tool, &synth_sample, machine,
-					       process_build_id, inject__mmap_evsel(inject),
+					       process_build_id,
 					       /*misc=*/synth_sample.cpumode,
 					       dso__bid(dso), dso__long_name(dso));
 }
@@ -2007,7 +2010,6 @@ static int evsel__check_stype(struct evsel *evsel, u64 sample_type, const char *
 static int drop_sample(const struct perf_tool *tool __maybe_unused,
 		       union perf_event *event __maybe_unused,
 		       struct perf_sample *sample __maybe_unused,
-		       struct evsel *evsel __maybe_unused,
 		       struct machine *machine __maybe_unused)
 {
 	return 0;
diff --git a/tools/perf/util/synthetic-events.c b/tools/perf/util/synthetic-events.c
index 85bee747f4cd..de812a2befbc 100644
--- a/tools/perf/util/synthetic-events.c
+++ b/tools/perf/util/synthetic-events.c
@@ -2252,13 +2252,15 @@ int perf_event__synthesize_build_id(const struct perf_tool *tool,
 				    struct perf_sample *sample,
 				    struct machine *machine,
 				    perf_event__handler_t process,
-				    const struct evsel *evsel,
 				    __u16 misc,
 				    const struct build_id *bid,
 				    const char *filename)
 {
 	union perf_event ev;
 	size_t len;
+	u64 sample_type = sample->evsel ? sample->evsel->core.attr.sample_type : 0;
+	void *array = &ev;
+	int ret;
 
 	len = sizeof(ev.build_id) + strlen(filename) + 1;
 	len = PERF_ALIGN(len, sizeof(u64));
@@ -2275,23 +2277,17 @@ int perf_event__synthesize_build_id(const struct perf_tool *tool,
 	ev.build_id.header.size = len;
 	strcpy(ev.build_id.filename, filename);
 
-	if (evsel) {
-		void *array = &ev;
-		int ret;
-
-		array += ev.header.size;
-		ret = perf_event__synthesize_id_sample(array, evsel->core.attr.sample_type, sample);
-		if (ret < 0)
-			return ret;
-
-		if (ret & 7) {
-			pr_err("Bad id sample size %d\n", ret);
-			return -EINVAL;
-		}
+	array += ev.header.size;
+	ret = perf_event__synthesize_id_sample(array, sample_type, sample);
+	if (ret < 0)
+		return ret;
 
-		ev.header.size += ret;
+	if (ret & 7) {
+		pr_err("Bad id sample size %d\n", ret);
+		return -EINVAL;
 	}
 
+	ev.header.size += ret;
 	return process(tool, &ev, sample, machine);
 }
 
@@ -2299,7 +2295,6 @@ int perf_event__synthesize_mmap2_build_id(const struct perf_tool *tool,
 					  struct perf_sample *sample,
 					  struct machine *machine,
 					  perf_event__handler_t process,
-					  const struct evsel *evsel,
 					  __u16 misc,
 					  __u32 pid, __u32 tid,
 					  __u64 start, __u64 len, __u64 pgoff,
@@ -2309,6 +2304,7 @@ int perf_event__synthesize_mmap2_build_id(const struct perf_tool *tool,
 {
 	union perf_event ev;
 	size_t ev_len;
+	u64 sample_type = sample->evsel ? sample->evsel->core.attr.sample_type : 0;
 	void *array;
 	int ret;
 
@@ -2339,7 +2335,7 @@ int perf_event__synthesize_mmap2_build_id(const struct perf_tool *tool,
 
 	array = &ev;
 	array += ev.header.size;
-	ret = perf_event__synthesize_id_sample(array, evsel->core.attr.sample_type, sample);
+	ret = perf_event__synthesize_id_sample(array, sample_type, sample);
 	if (ret < 0)
 		return ret;
 
diff --git a/tools/perf/util/synthetic-events.h b/tools/perf/util/synthetic-events.h
index b0edad0c3100..473a43a78993 100644
--- a/tools/perf/util/synthetic-events.h
+++ b/tools/perf/util/synthetic-events.h
@@ -50,7 +50,6 @@ int perf_event__synthesize_build_id(const struct perf_tool *tool,
 				    struct perf_sample *sample,
 				    struct machine *machine,
 				    perf_event__handler_t process,
-				    const struct evsel *evsel,
 				    __u16 misc,
 				    const struct build_id *bid,
 				    const char *filename);
@@ -58,7 +57,6 @@ int perf_event__synthesize_mmap2_build_id(const struct perf_tool *tool,
 					  struct perf_sample *sample,
 					  struct machine *machine,
 					  perf_event__handler_t process,
-					  const struct evsel *evsel,
 					  __u16 misc,
 					  __u32 pid, __u32 tid,
 					  __u64 start, __u64 len, __u64 pgoff,
-- 
2.53.0.1213.gd9a14994de-goog


  parent reply	other threads:[~2026-04-13  1:23 UTC|newest]

Thread overview: 325+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-09 17:40 [PATCH v1 00/25] perf tool: Add evsel to perf_sample Ian Rogers
2026-02-09 17:40 ` [PATCH v1 01/25] perf sample: Document struct perf_sample Ian Rogers
2026-03-03  3:07   ` Namhyung Kim
2026-03-20  4:41     ` Ian Rogers
2026-02-09 17:40 ` [PATCH v1 02/25] perf sample: Make sure perf_sample__init/exit are used Ian Rogers
2026-03-03 22:38   ` Namhyung Kim
2026-02-09 17:40 ` [PATCH v1 03/25] perf sample: Add evsel to struct perf_sample Ian Rogers
2026-02-09 17:40 ` [PATCH v1 04/25] perf tool: Remove evsel from tool APIs that pass the sample Ian Rogers
2026-02-09 17:40 ` [PATCH v1 05/25] perf kvm: Don't pass evsel with sample Ian Rogers
2026-02-09 17:40 ` [PATCH v1 06/25] perf evsel: Refactor evsel__intval to perf_sample__intval Ian Rogers
2026-02-09 17:40 ` [PATCH v1 07/25] perf trace: Don't pass evsel with sample Ian Rogers
2026-02-09 17:40 ` [PATCH v1 08/25] perf callchain: Don't pass evsel and sample Ian Rogers
2026-02-09 17:40 ` [PATCH v1 09/25] perf lock: Only pass sample to handlers Ian Rogers
2026-02-09 17:40 ` [PATCH v1 10/25] perf lock: Constify trace_lock_handler variables Ian Rogers
2026-02-09 17:40 ` [PATCH v1 11/25] perf hist: Remove evsel parameter from inc samples functions Ian Rogers
2026-02-09 17:40 ` [PATCH v1 12/25] perf db-export: Remove evsel from struct export_sample Ian Rogers
2026-02-09 17:40 ` [PATCH v1 13/25] perf hist: Remove evsel from struct hist_entry_iter Ian Rogers
2026-02-09 17:40 ` [PATCH v1 14/25] perf report: Directly use sample->evsel to avoid computing from sample->id Ian Rogers
2026-02-09 17:40 ` [PATCH v1 15/25] perf annotate: Don't pass evsel to add_sample Ian Rogers
2026-02-09 17:40 ` [PATCH v1 16/25] perf inject: Don't pass evsel with sample Ian Rogers
2026-02-09 17:40 ` [PATCH v1 17/25] perf kmem: " Ian Rogers
2026-02-09 17:40 ` [PATCH v1 18/25] perf kwork: " Ian Rogers
2026-02-09 17:40 ` [PATCH v1 19/25] perf sched: " Ian Rogers
2026-02-09 17:40 ` [PATCH v1 20/25] perf timechart: " Ian Rogers
2026-02-09 17:40 ` [PATCH v1 21/25] perf trace: " Ian Rogers
2026-02-09 17:40 ` [PATCH v1 22/25] perf evlist: Try to avoid computing evsel from sample Ian Rogers
2026-02-09 17:40 ` [PATCH v1 23/25] perf script: Don't pass evsel with sample Ian Rogers
2026-02-09 17:40 ` [PATCH v1 24/25] perf s390-sample-raw: " Ian Rogers
2026-02-09 17:40 ` [PATCH v1 25/25] perf evsel: " Ian Rogers
2026-02-23 19:15 ` [PATCH v1 00/25] perf tool: Add evsel to perf_sample Ian Rogers
2026-03-02 17:56   ` Ian Rogers
2026-03-03  1:15     ` Namhyung Kim
2026-03-04  1:02 ` Namhyung Kim
2026-03-04 16:19   ` Ian Rogers
2026-03-19 23:23 ` [PATCH v2 " Ian Rogers
2026-03-19 23:23   ` [PATCH v2 01/25] perf sample: Document struct perf_sample Ian Rogers
2026-03-19 23:23   ` [PATCH v2 02/25] perf sample: Make sure perf_sample__init/exit are used Ian Rogers
2026-03-19 23:23   ` [PATCH v2 03/25] perf sample: Add evsel to struct perf_sample Ian Rogers
2026-03-19 23:23   ` [PATCH v2 04/25] perf tool: Remove evsel from tool APIs that pass the sample Ian Rogers
2026-03-19 23:23   ` [PATCH v2 05/25] perf kvm: Don't pass evsel with sample Ian Rogers
2026-03-19 23:23   ` [PATCH v2 06/25] perf evsel: Refactor evsel__intval to perf_sample__intval Ian Rogers
2026-03-19 23:23   ` [PATCH v2 07/25] perf trace: Don't pass evsel with sample Ian Rogers
2026-03-19 23:23   ` [PATCH v2 08/25] perf callchain: Don't pass evsel and sample Ian Rogers
2026-03-19 23:23   ` [PATCH v2 09/25] perf lock: Only pass sample to handlers Ian Rogers
2026-03-19 23:23   ` [PATCH v2 10/25] perf lock: Constify trace_lock_handler variables Ian Rogers
2026-03-19 23:23   ` [PATCH v2 11/25] perf hist: Remove evsel parameter from inc samples functions Ian Rogers
2026-03-19 23:23   ` [PATCH v2 12/25] perf db-export: Remove evsel from struct export_sample Ian Rogers
2026-03-19 23:23   ` [PATCH v2 13/25] perf hist: Remove evsel from struct hist_entry_iter Ian Rogers
2026-03-19 23:23   ` [PATCH v2 14/25] perf report: Directly use sample->evsel to avoid computing from sample->id Ian Rogers
2026-03-19 23:23   ` [PATCH v2 15/25] perf annotate: Don't pass evsel to add_sample Ian Rogers
2026-03-19 23:23   ` [PATCH v2 16/25] perf inject: Don't pass evsel with sample Ian Rogers
2026-03-19 23:23   ` [PATCH v2 17/25] perf kmem: " Ian Rogers
2026-03-19 23:23   ` [PATCH v2 18/25] perf kwork: " Ian Rogers
2026-03-19 23:23   ` [PATCH v2 19/25] perf sched: " Ian Rogers
2026-03-19 23:23   ` [PATCH v2 20/25] perf timechart: " Ian Rogers
2026-03-19 23:23   ` [PATCH v2 21/25] perf trace: " Ian Rogers
2026-03-19 23:23   ` [PATCH v2 22/25] perf evlist: Try to avoid computing evsel from sample Ian Rogers
2026-03-19 23:23   ` [PATCH v2 23/25] perf script: Don't pass evsel with sample Ian Rogers
2026-03-19 23:23   ` [PATCH v2 24/25] perf s390-sample-raw: " Ian Rogers
2026-03-19 23:23   ` [PATCH v2 25/25] perf evsel: " Ian Rogers
2026-03-20  8:08   ` [PATCH v3 00/25] perf tool: Add evsel to perf_sample Ian Rogers
2026-03-20  8:08     ` [PATCH v3 01/25] perf sample: Document struct perf_sample Ian Rogers
2026-03-20  8:08     ` [PATCH v3 02/25] perf sample: Make sure perf_sample__init/exit are used Ian Rogers
2026-03-20  8:08     ` [PATCH v3 03/25] perf sample: Add evsel to struct perf_sample Ian Rogers
2026-03-20  8:08     ` [PATCH v3 04/25] perf tool: Remove evsel from tool APIs that pass the sample Ian Rogers
2026-03-20  8:08     ` [PATCH v3 05/25] perf kvm: Don't pass evsel with sample Ian Rogers
2026-03-20  8:08     ` [PATCH v3 06/25] perf evsel: Refactor evsel__intval to perf_sample__intval Ian Rogers
2026-03-20  8:08     ` [PATCH v3 07/25] perf trace: Don't pass evsel with sample Ian Rogers
2026-03-20  8:08     ` [PATCH v3 08/25] perf callchain: Don't pass evsel and sample Ian Rogers
2026-03-20  8:08     ` [PATCH v3 09/25] perf lock: Only pass sample to handlers Ian Rogers
2026-03-20  8:08     ` [PATCH v3 10/25] perf lock: Constify trace_lock_handler variables Ian Rogers
2026-03-20  8:08     ` [PATCH v3 11/25] perf hist: Remove evsel parameter from inc samples functions Ian Rogers
2026-03-20  8:08     ` [PATCH v3 12/25] perf db-export: Remove evsel from struct export_sample Ian Rogers
2026-03-20  8:08     ` [PATCH v3 13/25] perf hist: Remove evsel from struct hist_entry_iter Ian Rogers
2026-03-20  8:08     ` [PATCH v3 14/25] perf report: Directly use sample->evsel to avoid computing from sample->id Ian Rogers
2026-03-20  8:08     ` [PATCH v3 15/25] perf annotate: Don't pass evsel to add_sample Ian Rogers
2026-03-20  8:08     ` [PATCH v3 16/25] perf inject: Don't pass evsel with sample Ian Rogers
2026-03-20  8:08     ` [PATCH v3 17/25] perf kmem: " Ian Rogers
2026-03-20  8:08     ` [PATCH v3 18/25] perf kwork: " Ian Rogers
2026-03-20  8:08     ` [PATCH v3 19/25] perf sched: " Ian Rogers
2026-03-20  8:08     ` [PATCH v3 20/25] perf timechart: " Ian Rogers
2026-03-20  8:08     ` [PATCH v3 21/25] perf trace: " Ian Rogers
2026-03-20  8:08     ` [PATCH v3 22/25] perf evlist: Try to avoid computing evsel from sample Ian Rogers
2026-03-20  8:08     ` [PATCH v3 23/25] perf script: Don't pass evsel with sample Ian Rogers
2026-03-20  8:08     ` [PATCH v3 24/25] perf s390-sample-raw: " Ian Rogers
2026-03-20  8:08     ` [PATCH v3 25/25] perf evsel: " Ian Rogers
2026-03-20 19:26     ` [PATCH v4 00/25] perf tool: Add evsel to perf_sample Ian Rogers
2026-03-20 19:26       ` [PATCH v4 01/25] perf sample: Document struct perf_sample Ian Rogers
2026-03-20 19:26       ` [PATCH v4 02/25] perf sample: Make sure perf_sample__init/exit are used Ian Rogers
2026-04-03  3:10         ` Namhyung Kim
2026-04-03 15:56           ` Ian Rogers
2026-03-20 19:26       ` [PATCH v4 03/25] perf sample: Add evsel to struct perf_sample Ian Rogers
2026-03-20 19:26       ` [PATCH v4 04/25] perf tool: Remove evsel from tool APIs that pass the sample Ian Rogers
2026-03-20 19:26       ` [PATCH v4 05/25] perf kvm: Don't pass evsel with sample Ian Rogers
2026-03-20 19:26       ` [PATCH v4 06/25] perf evsel: Refactor evsel__intval to perf_sample__intval Ian Rogers
2026-03-20 19:26       ` [PATCH v4 07/25] perf trace: Don't pass evsel with sample Ian Rogers
2026-03-20 19:26       ` [PATCH v4 08/25] perf callchain: Don't pass evsel and sample Ian Rogers
2026-03-20 19:26       ` [PATCH v4 09/25] perf lock: Only pass sample to handlers Ian Rogers
2026-03-20 19:26       ` [PATCH v4 10/25] perf lock: Constify trace_lock_handler variables Ian Rogers
2026-03-20 19:26       ` [PATCH v4 11/25] perf hist: Remove evsel parameter from inc samples functions Ian Rogers
2026-03-20 19:26       ` [PATCH v4 12/25] perf db-export: Remove evsel from struct export_sample Ian Rogers
2026-03-20 19:26       ` [PATCH v4 13/25] perf hist: Remove evsel from struct hist_entry_iter Ian Rogers
2026-03-20 19:26       ` [PATCH v4 14/25] perf report: Directly use sample->evsel to avoid computing from sample->id Ian Rogers
2026-03-20 19:26       ` [PATCH v4 15/25] perf annotate: Don't pass evsel to add_sample Ian Rogers
2026-03-20 19:26       ` [PATCH v4 16/25] perf inject: Don't pass evsel with sample Ian Rogers
2026-03-20 19:26       ` [PATCH v4 17/25] perf kmem: " Ian Rogers
2026-03-20 19:26       ` [PATCH v4 18/25] perf kwork: " Ian Rogers
2026-03-20 19:26       ` [PATCH v4 19/25] perf sched: " Ian Rogers
2026-03-20 19:26       ` [PATCH v4 20/25] perf timechart: " Ian Rogers
2026-03-20 19:26       ` [PATCH v4 21/25] perf trace: " Ian Rogers
2026-03-20 19:26       ` [PATCH v4 22/25] perf evlist: Try to avoid computing evsel from sample Ian Rogers
2026-03-20 19:26       ` [PATCH v4 23/25] perf script: Don't pass evsel with sample Ian Rogers
2026-03-20 19:26       ` [PATCH v4 24/25] perf s390-sample-raw: Don't pass evsel or its PMU " Ian Rogers
2026-03-20 19:26       ` [PATCH v4 25/25] perf evsel: Don't pass evsel " Ian Rogers
2026-04-01  5:57       ` [PATCH v4 00/25] perf tool: Add evsel to perf_sample Ian Rogers
2026-04-03 20:39         ` [PATCH v5 " Ian Rogers
2026-04-03 20:39           ` [PATCH v5 01/25] perf sample: Document struct perf_sample Ian Rogers
2026-04-03 20:39           ` [PATCH v5 02/25] perf sample: Make sure perf_sample__init/exit are used Ian Rogers
2026-04-03 20:39           ` [PATCH v5 03/25] perf sample: Add evsel to struct perf_sample Ian Rogers
2026-04-03 20:39           ` [PATCH v5 04/25] perf tool: Remove evsel from tool APIs that pass the sample Ian Rogers
2026-04-03 20:39           ` [PATCH v5 05/25] perf kvm: Don't pass evsel with sample Ian Rogers
2026-04-03 20:39           ` [PATCH v5 06/25] perf evsel: Refactor evsel tracepoint sample accessors perf_sample Ian Rogers
2026-04-03 20:39           ` [PATCH v5 07/25] perf trace: Don't pass evsel with sample Ian Rogers
2026-04-03 20:40           ` [PATCH v5 08/25] perf callchain: Don't pass evsel and sample Ian Rogers
2026-04-03 20:40           ` [PATCH v5 09/25] perf lock: Only pass sample to handlers Ian Rogers
2026-04-03 20:40           ` [PATCH v5 10/25] perf lock: Constify trace_lock_handler variables Ian Rogers
2026-04-03 20:40           ` [PATCH v5 11/25] perf hist: Remove evsel parameter from inc samples functions Ian Rogers
2026-04-03 20:40           ` [PATCH v5 12/25] perf db-export: Remove evsel from struct export_sample Ian Rogers
2026-04-03 20:40           ` [PATCH v5 13/25] perf hist: Remove evsel from struct hist_entry_iter Ian Rogers
2026-04-03 20:40           ` [PATCH v5 14/25] perf report: Directly use sample->evsel to avoid computing from sample->id Ian Rogers
2026-04-03 20:40           ` [PATCH v5 15/25] perf annotate: Don't pass evsel to add_sample Ian Rogers
2026-04-03 20:40           ` [PATCH v5 16/25] perf inject: Don't pass evsel with sample Ian Rogers
2026-04-03 20:40           ` [PATCH v5 17/25] perf kmem: " Ian Rogers
2026-04-03 20:40           ` [PATCH v5 18/25] perf kwork: " Ian Rogers
2026-04-03 20:40           ` [PATCH v5 19/25] perf sched: " Ian Rogers
2026-04-03 20:40           ` [PATCH v5 20/25] perf timechart: " Ian Rogers
2026-04-03 20:40           ` [PATCH v5 21/25] perf trace: " Ian Rogers
2026-04-03 20:40           ` [PATCH v5 22/25] perf evlist: Try to avoid computing evsel from sample Ian Rogers
2026-04-03 20:40           ` [PATCH v5 23/25] perf script: Don't pass evsel with sample Ian Rogers
2026-04-03 20:40           ` [PATCH v5 24/25] perf s390-sample-raw: Don't pass evsel or its PMU " Ian Rogers
2026-04-03 20:40           ` [PATCH v5 25/25] perf evsel: Don't pass evsel " Ian Rogers
2026-04-04  3:43           ` [PATCH v6 00/25] perf tool: Add evsel to perf_sample Ian Rogers
2026-04-04  3:43             ` [PATCH v6 01/25] perf sample: Document struct perf_sample Ian Rogers
2026-04-04  3:43             ` [PATCH v6 02/25] perf sample: Make sure perf_sample__init/exit are used Ian Rogers
2026-04-04  3:43             ` [PATCH v6 03/25] perf sample: Add evsel to struct perf_sample Ian Rogers
2026-04-04  3:43             ` [PATCH v6 04/25] perf tool: Remove evsel from tool APIs that pass the sample Ian Rogers
2026-04-04  3:43             ` [PATCH v6 05/25] perf kvm: Don't pass evsel with sample Ian Rogers
2026-04-04  3:43             ` [PATCH v6 06/25] perf evsel: Refactor evsel tracepoint sample accessors perf_sample Ian Rogers
2026-04-06  6:06               ` Namhyung Kim
2026-04-06 15:24                 ` Ian Rogers
2026-04-06 18:12                   ` Namhyung Kim
2026-04-04  3:43             ` [PATCH v6 07/25] perf trace: Don't pass evsel with sample Ian Rogers
2026-04-04  3:43             ` [PATCH v6 08/25] perf callchain: Don't pass evsel and sample Ian Rogers
2026-04-04  3:43             ` [PATCH v6 09/25] perf lock: Only pass sample to handlers Ian Rogers
2026-04-04  3:43             ` [PATCH v6 10/25] perf lock: Constify trace_lock_handler variables Ian Rogers
2026-04-04  3:43             ` [PATCH v6 11/25] perf hist: Remove evsel parameter from inc samples functions Ian Rogers
2026-04-04  3:43             ` [PATCH v6 12/25] perf db-export: Remove evsel from struct export_sample Ian Rogers
2026-04-04  3:43             ` [PATCH v6 13/25] perf hist: Remove evsel from struct hist_entry_iter Ian Rogers
2026-04-04  3:43             ` [PATCH v6 14/25] perf report: Directly use sample->evsel to avoid computing from sample->id Ian Rogers
2026-04-04  3:43             ` [PATCH v6 15/25] perf annotate: Don't pass evsel to add_sample Ian Rogers
2026-04-04  3:43             ` [PATCH v6 16/25] perf inject: Don't pass evsel with sample Ian Rogers
2026-04-04  3:43             ` [PATCH v6 17/25] perf kmem: " Ian Rogers
2026-04-04  3:43             ` [PATCH v6 18/25] perf kwork: " Ian Rogers
2026-04-04  3:43             ` [PATCH v6 19/25] perf sched: " Ian Rogers
2026-04-04  3:43             ` [PATCH v6 20/25] perf timechart: " Ian Rogers
2026-04-04  3:43             ` [PATCH v6 21/25] perf trace: " Ian Rogers
2026-04-04  3:43             ` [PATCH v6 22/25] perf evlist: Try to avoid computing evsel from sample Ian Rogers
2026-04-04  3:43             ` [PATCH v6 23/25] perf script: Don't pass evsel with sample Ian Rogers
2026-04-04  3:43             ` [PATCH v6 24/25] perf s390-sample-raw: Don't pass evsel or its PMU " Ian Rogers
2026-04-04  3:43             ` [PATCH v6 25/25] perf evsel: Don't pass evsel " Ian Rogers
2026-04-06  6:11             ` [PATCH v6 00/25] perf tool: Add evsel to perf_sample Namhyung Kim
2026-04-06 17:50               ` Namhyung Kim
2026-04-08  7:25                 ` [PATCH v7 00/23] " Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 01/23] perf tool: Remove evsel from tool APIs that pass the sample Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 02/23] perf kvm: Don't pass evsel with sample Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 03/23] perf evsel: Refactor evsel tracepoint sample accessors perf_sample Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 04/23] perf kwork: Duplicate IRQ name in irq_work_init Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 05/23] perf trace: Don't pass evsel with sample Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 06/23] perf callchain: Don't pass evsel and sample Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 07/23] perf lock: Only pass sample to handlers Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 08/23] perf lock: Constify trace_lock_handler variables Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 09/23] perf hist: Remove evsel parameter from inc samples functions Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 10/23] perf db-export: Remove evsel from struct export_sample Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 11/23] perf hist: Remove evsel from struct hist_entry_iter Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 12/23] perf report: Directly use sample->evsel to avoid computing from sample->id Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 13/23] perf annotate: Don't pass evsel to add_sample Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 14/23] perf inject: Don't pass evsel with sample Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 15/23] perf kmem: " Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 16/23] perf kwork: " Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 17/23] perf sched: " Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 18/23] perf timechart: " Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 19/23] perf trace: " Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 20/23] perf evlist: Try to avoid computing evsel from sample Ian Rogers
2026-04-08  7:25                   ` [PATCH v7 21/23] perf script: Don't pass evsel with sample Ian Rogers
2026-04-08  7:26                   ` [PATCH v7 22/23] perf s390-sample-raw: Don't pass evsel or its PMU " Ian Rogers
2026-04-08  7:26                   ` [PATCH v7 23/23] perf evsel: Don't pass evsel " Ian Rogers
2026-04-11  6:56                   ` [PATCH v8 00/29] perf tool: Add evsel to perf_sample Ian Rogers
2026-04-11  6:56                     ` [PATCH v8 01/29] perf sample: Fix documentation typo Ian Rogers
2026-04-11  6:56                     ` [PATCH v8 02/29] perf tool: Remove evsel from tool APIs that pass the sample Ian Rogers
2026-04-11  6:56                     ` [PATCH v8 03/29] perf kvm: Don't pass evsel with sample Ian Rogers
2026-04-11  6:56                     ` [PATCH v8 04/29] perf evsel: Refactor evsel tracepoint sample accessors perf_sample Ian Rogers
2026-04-11  6:56                     ` [PATCH v8 05/29] perf trace: Don't pass evsel with sample Ian Rogers
2026-04-11  6:56                     ` [PATCH v8 06/29] perf callchain: Don't pass evsel and sample Ian Rogers
2026-04-11  6:56                     ` [PATCH v8 07/29] perf lock: Only pass sample to handlers Ian Rogers
2026-04-11  6:56                     ` [PATCH v8 08/29] perf lock: Constify trace_lock_handler variables Ian Rogers
2026-04-11  6:56                     ` [PATCH v8 09/29] perf hist: Remove evsel parameter from inc samples functions Ian Rogers
2026-04-11  6:56                     ` [PATCH v8 10/29] perf db-export: Remove evsel from struct export_sample Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 11/29] perf hist: Remove evsel from struct hist_entry_iter Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 12/29] perf report: Directly use sample->evsel to avoid computing from sample->id Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 13/29] perf annotate: Don't pass evsel to add_sample Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 14/29] perf inject: Don't pass evsel with sample Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 15/29] perf kmem: " Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 16/29] perf kwork: " Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 17/29] perf sched: " Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 18/29] perf timechart: " Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 19/29] perf trace: " Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 20/29] perf evlist: Try to avoid computing evsel from sample Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 21/29] perf script: Don't pass evsel with sample Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 22/29] perf s390-sample-raw: Don't pass evsel or its PMU " Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 23/29] perf evsel: Don't pass evsel " Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 24/29] perf kmem: Add bounds checks to tracepoint read values Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 25/29] perf sched: Bounds check CPU in sched switch events Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 26/29] perf timechart: Bounds check CPU Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 27/29] perf evsel: Add bounds checking to trace point raw data accessors Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 28/29] perf kwork: Fix address sanitizer issues Ian Rogers
2026-04-11  6:57                     ` [PATCH v8 29/29] perf kwork: Fix memory management of kwork_work Ian Rogers
2026-04-11 19:16                     ` [PATCH v9 00/29] perf tool: Add evsel to perf_sample Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 01/29] perf sample: Fix documentation typo Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 02/29] perf tool: Remove evsel from tool APIs that pass the sample Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 03/29] perf kvm: Don't pass evsel with sample Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 04/29] perf evsel: Refactor evsel tracepoint sample accessors perf_sample Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 05/29] perf trace: Don't pass evsel with sample Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 06/29] perf callchain: Don't pass evsel and sample Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 07/29] perf lock: Only pass sample to handlers Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 08/29] perf lock: Constify trace_lock_handler variables Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 09/29] perf hist: Remove evsel parameter from inc samples functions Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 10/29] perf db-export: Remove evsel from struct export_sample Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 11/29] perf hist: Remove evsel from struct hist_entry_iter Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 12/29] perf report: Directly use sample->evsel to avoid computing from sample->id Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 13/29] perf annotate: Don't pass evsel to add_sample Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 14/29] perf inject: Don't pass evsel with sample Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 15/29] perf kmem: " Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 16/29] perf kwork: " Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 17/29] perf sched: " Ian Rogers
2026-04-11 19:16                       ` [PATCH v9 18/29] perf timechart: " Ian Rogers
2026-04-11 19:17                       ` [PATCH v9 19/29] perf trace: " Ian Rogers
2026-04-11 19:17                       ` [PATCH v9 20/29] perf evlist: Try to avoid computing evsel from sample Ian Rogers
2026-04-11 19:17                       ` [PATCH v9 21/29] perf script: Don't pass evsel with sample Ian Rogers
2026-04-11 19:17                       ` [PATCH v9 22/29] perf s390-sample-raw: Don't pass evsel or its PMU " Ian Rogers
2026-04-11 19:17                       ` [PATCH v9 23/29] perf evsel: Don't pass evsel " Ian Rogers
2026-04-11 19:17                       ` [PATCH v9 24/29] perf kmem: Add bounds checks to tracepoint read values Ian Rogers
2026-04-11 19:17                       ` [PATCH v9 25/29] perf sched: Bounds check CPU in sched switch events Ian Rogers
2026-04-11 19:17                       ` [PATCH v9 26/29] perf timechart: Bounds check CPU Ian Rogers
2026-04-11 19:17                       ` [PATCH v9 27/29] perf evsel: Add bounds checking to trace point raw data accessors Ian Rogers
2026-04-11 19:17                       ` [PATCH v9 28/29] perf kwork: Fix address sanitizer issues Ian Rogers
2026-04-11 19:17                       ` [PATCH v9 29/29] perf kwork: Fix memory management of kwork_work Ian Rogers
2026-04-12  2:08                       ` [PATCH v10 00/29] perf tool: Add evsel to perf_sample Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 01/29] perf sample: Fix documentation typo Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 02/29] perf tool: Remove evsel from tool APIs that pass the sample Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 03/29] perf kvm: Don't pass evsel with sample Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 04/29] perf evsel: Refactor evsel tracepoint sample accessors perf_sample Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 05/29] perf trace: Don't pass evsel with sample Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 06/29] perf callchain: Don't pass evsel and sample Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 07/29] perf lock: Only pass sample to handlers Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 08/29] perf lock: Constify trace_lock_handler variables Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 09/29] perf hist: Remove evsel parameter from inc samples functions Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 10/29] perf db-export: Remove evsel from struct export_sample Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 11/29] perf hist: Remove evsel from struct hist_entry_iter Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 12/29] perf report: Directly use sample->evsel to avoid computing from sample->id Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 13/29] perf annotate: Don't pass evsel to add_sample Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 14/29] perf inject: Don't pass evsel with sample Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 15/29] perf kmem: " Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 16/29] perf kwork: " Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 17/29] perf sched: " Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 18/29] perf timechart: " Ian Rogers
2026-04-12 20:13                           ` Namhyung Kim
2026-04-12  2:08                         ` [PATCH v10 19/29] perf trace: " Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 20/29] perf evlist: Try to avoid computing evsel from sample Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 21/29] perf script: Don't pass evsel with sample Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 22/29] perf s390-sample-raw: Don't pass evsel or its PMU " Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 23/29] perf evsel: Don't pass evsel " Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 24/29] perf kmem: Add bounds checks to tracepoint read values Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 25/29] perf sched: Bounds check CPU in sched switch events Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 26/29] perf timechart: Bounds check CPU Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 27/29] perf evsel: Add bounds checking to trace point raw data accessors Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 28/29] perf kwork: Fix address sanitizer issues Ian Rogers
2026-04-12  2:08                         ` [PATCH v10 29/29] perf kwork: Fix memory management of kwork_work Ian Rogers
2026-04-12 20:10                         ` [PATCH v10 00/29] perf tool: Add evsel to perf_sample Namhyung Kim
2026-04-13  0:52                           ` Ian Rogers
2026-04-13  1:21                         ` [PATCH v11 00/33] " Ian Rogers
2026-04-13  1:21                           ` [PATCH v11 01/33] perf sample: Fix documentation typo Ian Rogers
2026-04-13  1:21                           ` [PATCH v11 02/33] perf tool: Remove evsel from tool APIs that pass the sample Ian Rogers
2026-04-13  1:21                           ` [PATCH v11 03/33] perf kvm: Don't pass evsel with sample Ian Rogers
2026-04-13  1:21                           ` [PATCH v11 04/33] perf evsel: Refactor evsel tracepoint sample accessors perf_sample Ian Rogers
2026-04-13  1:21                           ` [PATCH v11 05/33] perf trace: Don't pass evsel with sample Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 06/33] perf callchain: Don't pass evsel and sample Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 07/33] perf lock: Only pass sample to handlers Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 08/33] perf hist: Remove evsel parameter from inc samples functions Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 09/33] perf db-export: Remove evsel from struct export_sample Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 10/33] perf hist: Remove evsel from struct hist_entry_iter Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 11/33] perf report: Directly use sample->evsel to avoid computing from sample->id Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 12/33] perf annotate: Don't pass evsel to add_sample Ian Rogers
2026-04-13  1:22                           ` Ian Rogers [this message]
2026-04-13  1:22                           ` [PATCH v11 14/33] perf kmem: Don't pass evsel with sample Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 15/33] perf kwork: " Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 16/33] perf sched: " Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 17/33] perf timechart: " Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 18/33] perf trace: " Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 19/33] perf evlist: Try to avoid computing evsel from sample Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 20/33] perf script: Don't pass evsel with sample Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 21/33] perf s390-sample-raw: Don't pass evsel or its PMU " Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 22/33] perf evsel: Don't pass evsel " Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 23/33] perf lock: Constify trace_lock_handler variables Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 24/33] perf lock: Avoid segv if event is missing a callchain Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 25/33] perf timechart: Fix memory leaks Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 26/33] perf kmem: Fix memory leaks on error path and when skipping Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 27/33] perf synthetic-events: Bound check when synthesizing mmap2 and build_id events Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 28/33] perf kmem: Add bounds checks to tracepoint read values Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 29/33] perf sched: Bounds check CPU in sched switch events Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 30/33] perf timechart: Bounds check CPU Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 31/33] perf evsel: Add bounds checking to trace point raw data accessors Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 32/33] perf kwork: Fix address sanitizer issues Ian Rogers
2026-04-13  1:22                           ` [PATCH v11 33/33] perf kwork: Fix memory management of kwork_work Ian Rogers
2026-04-08  7:30                 ` [PATCH v6 00/25] perf tool: Add evsel to perf_sample Ian Rogers
2026-04-09  1:40                   ` Namhyung Kim

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=20260413012227.1089445-14-irogers@google.com \
    --to=irogers@google.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=ajones@ventanamicro.com \
    --cc=ak@linux.intel.com \
    --cc=alex@ghiti.fr \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=anup@brainfault.org \
    --cc=aou@eecs.berkeley.edu \
    --cc=atrajeev@linux.ibm.com \
    --cc=blakejones@google.com \
    --cc=ctshao@google.com \
    --cc=dapeng1.mi@linux.intel.com \
    --cc=derek.foreman@collabora.com \
    --cc=dvyukov@google.com \
    --cc=howardchu95@gmail.com \
    --cc=hrishikesh123s@gmail.com \
    --cc=james.clark@linaro.org \
    --cc=jolsa@kernel.org \
    --cc=krzysztof.m.lopatowski@gmail.com \
    --cc=leo.yan@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=linux@treblig.org \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=nichen@iscas.ac.cn \
    --cc=palmer@dabbelt.com \
    --cc=peterz@infradead.org \
    --cc=pjw@kernel.org \
    --cc=ravi.bangoria@amd.com \
    --cc=swapnil.sapkal@amd.com \
    --cc=tanze@kylinos.cn \
    --cc=thomas.falcon@intel.com \
    --cc=tianyou.li@intel.com \
    --cc=yujie.liu@intel.com \
    --cc=zhouquan@iscas.ac.cn \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox