public inbox for linux-perf-users@vger.kernel.org
 help / color / mirror / Atom feed
From: Ian Rogers <irogers@google.com>
To: acme@kernel.org, adrian.hunter@intel.com, james.clark@linaro.org,
	 leo.yan@linux.dev, namhyung@kernel.org, tmricht@linux.ibm.com
Cc: alice.mei.rogers@gmail.com, dapeng1.mi@linux.intel.com,
	 linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,  linux-perf-users@vger.kernel.org,
	mingo@redhat.com, peterz@infradead.org,
	 Ian Rogers <irogers@google.com>
Subject: [PATCH v7 01/59] perf inject: Fix itrace branch stack synthesis
Date: Sat, 25 Apr 2026 15:40:26 -0700	[thread overview]
Message-ID: <20260425224125.160890-2-irogers@google.com> (raw)
In-Reply-To: <20260425224125.160890-1-irogers@google.com>

When using "perf inject --itrace=L" to synthesize branch stacks from
AUX data, several issues caused failures:

1. The synthesized samples were delivered without the
   PERF_SAMPLE_BRANCH_STACK flag if it was not in the original event's
   sample_type. Fixed by using sample_type | evsel->synth_sample_type
   in intel_pt_deliver_synth_event.

2. The record layout was misaligned because of inconsistent handling
   of PERF_SAMPLE_BRANCH_HW_INDEX. Fixed by explicitly writing nr and
   hw_idx in perf_event__synthesize_sample.

3. Modifying evsel->core.attr.sample_type early in __cmd_inject caused
   parse failures for subsequent records in the input file. Fixed by
   moving this modification to just before writing the header.

4. perf_event__repipe_sample was narrowed to only synthesize samples
   when branch stack injection was requested, and restored the use of
   perf_inject__cut_auxtrace_sample as a fallback to preserve
   functionality.

Assisted-by: Gemini:gemini-3.1-pro-preview
Signed-off-by: Ian Rogers <irogers@google.com>
---
Issues fixed in v2:

1. Potential Heap Overflow in perf_event__repipe_sample : Addressed by
   adding a check that prints an error and returns -EFAULT if the
   calculated event size exceeds PERF_SAMPLE_MAX_SIZE , as you
   requested.

2. Header vs Payload Mismatch in __cmd_inject : Addressed by narrowing
   the condition so that HEADER_BRANCH_STACK is only set in the file
   header if add_last_branch was true.

3. NULL Pointer Dereference in intel-pt.c : Addressed by updating the
   condition in intel_pt_do_synth_pebs_sample to fill sample.
   branch_stack if it was synthesized, even if not in the original
   sample_type .

4. Unsafe Reads for events lacking HW_INDEX in synthetic-events.c :
   Addressed by using the perf_sample__branch_entries() macro and
   checking sample->no_hw_idx .

5. Size mismatch in perf_event__sample_event_size : Addressed by
   passing branch_sample_type to it and conditioning the hw_idx size on
   PERF_SAMPLE_BRANCH_HW_INDEX .
---
 tools/perf/bench/inject-buildid.c  |  9 ++--
 tools/perf/builtin-inject.c        | 77 ++++++++++++++++++++++++++++--
 tools/perf/tests/dlfilter-test.c   |  8 +++-
 tools/perf/tests/sample-parsing.c  |  5 +-
 tools/perf/util/arm-spe.c          |  7 ++-
 tools/perf/util/cs-etm.c           |  6 ++-
 tools/perf/util/intel-bts.c        |  3 +-
 tools/perf/util/intel-pt.c         | 13 +++--
 tools/perf/util/synthetic-events.c | 25 +++++++---
 tools/perf/util/synthetic-events.h |  6 ++-
 10 files changed, 129 insertions(+), 30 deletions(-)

diff --git a/tools/perf/bench/inject-buildid.c b/tools/perf/bench/inject-buildid.c
index aad572a78d7f..bfd2c5ec9488 100644
--- a/tools/perf/bench/inject-buildid.c
+++ b/tools/perf/bench/inject-buildid.c
@@ -228,9 +228,12 @@ static ssize_t synthesize_sample(struct bench_data *data, struct bench_dso *dso,
 
 	event.header.type = PERF_RECORD_SAMPLE;
 	event.header.misc = PERF_RECORD_MISC_USER;
-	event.header.size = perf_event__sample_event_size(&sample, bench_sample_type, 0);
-
-	perf_event__synthesize_sample(&event, bench_sample_type, 0, &sample);
+	event.header.size = perf_event__sample_event_size(&sample, bench_sample_type,
+							   /*read_format=*/0,
+							   /*branch_sample_type=*/0);
+	perf_event__synthesize_sample(&event, bench_sample_type,
+				      /*read_format=*/0,
+				      /*branch_sample_type=*/0, &sample);
 
 	return writen(data->input_pipe[1], &event, event.header.size);
 }
diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
index f174bc69cec4..88c0ef4f5ff1 100644
--- a/tools/perf/builtin-inject.c
+++ b/tools/perf/builtin-inject.c
@@ -375,7 +375,59 @@ static int perf_event__repipe_sample(const struct perf_tool *tool,
 
 	build_id__mark_dso_hit(tool, event, sample, evsel, machine);
 
-	if (inject->itrace_synth_opts.set && sample->aux_sample.size) {
+	if (inject->itrace_synth_opts.set &&
+	    (inject->itrace_synth_opts.last_branch ||
+	     inject->itrace_synth_opts.add_last_branch)) {
+		union perf_event *event_copy = (void *)inject->event_copy;
+		struct branch_stack dummy_bs = { .nr = 0 };
+		int err;
+		size_t sz;
+		u64 orig_type = evsel->core.attr.sample_type;
+		u64 orig_branch_type = evsel->core.attr.branch_sample_type;
+
+		if (event_copy == NULL) {
+			inject->event_copy = malloc(PERF_SAMPLE_MAX_SIZE);
+			if (!inject->event_copy)
+				return -ENOMEM;
+
+			event_copy = (void *)inject->event_copy;
+		}
+
+		if (!sample->branch_stack)
+			sample->branch_stack = &dummy_bs;
+
+		if (inject->itrace_synth_opts.add_last_branch) {
+			/* Temporarily add in type bits for synthesis. */
+			evsel->core.attr.sample_type |= PERF_SAMPLE_BRANCH_STACK;
+			evsel->core.attr.branch_sample_type |= PERF_SAMPLE_BRANCH_HW_INDEX;
+			evsel->core.attr.sample_type &= ~PERF_SAMPLE_AUX;
+		}
+
+		sz = perf_event__sample_event_size(sample, evsel->core.attr.sample_type,
+						   evsel->core.attr.read_format,
+						   evsel->core.attr.branch_sample_type);
+
+		if (sz > PERF_SAMPLE_MAX_SIZE) {
+			pr_err("Sample size %zu exceeds max size %d\n", sz, PERF_SAMPLE_MAX_SIZE);
+			return -EFAULT;
+		}
+
+		event_copy->header.type = PERF_RECORD_SAMPLE;
+		event_copy->header.size = sz;
+
+		err = perf_event__synthesize_sample(event_copy, evsel->core.attr.sample_type,
+						    evsel->core.attr.read_format,
+						    evsel->core.attr.branch_sample_type, sample);
+
+		evsel->core.attr.sample_type = orig_type;
+		evsel->core.attr.branch_sample_type = orig_branch_type;
+
+		if (err) {
+			pr_err("Failed to synthesize sample\n");
+			return err;
+		}
+		event = event_copy;
+	} else if (inject->itrace_synth_opts.set && sample->aux_sample.size) {
 		event = perf_inject__cut_auxtrace_sample(inject, event, sample);
 		if (IS_ERR(event))
 			return PTR_ERR(event);
@@ -464,7 +516,8 @@ static int perf_event__convert_sample_callchain(const struct perf_tool *tool,
 	sample_type &= ~(PERF_SAMPLE_STACK_USER | PERF_SAMPLE_REGS_USER);
 
 	perf_event__synthesize_sample(event_copy, sample_type,
-				      evsel->core.attr.read_format, sample);
+				      evsel->core.attr.read_format,
+				      evsel->core.attr.branch_sample_type, sample);
 	return perf_event__repipe_synth(tool, event_copy);
 }
 
@@ -1100,7 +1153,8 @@ static int perf_inject__sched_stat(const struct perf_tool *tool,
 	sample_sw.period = sample->period;
 	sample_sw.time	 = sample->time;
 	perf_event__synthesize_sample(event_sw, evsel->core.attr.sample_type,
-				      evsel->core.attr.read_format, &sample_sw);
+				      evsel->core.attr.read_format,
+				      evsel->core.attr.branch_sample_type, &sample_sw);
 	build_id__mark_dso_hit(tool, event_sw, &sample_sw, evsel, machine);
 	ret = perf_event__repipe(tool, event_sw, &sample_sw, machine);
 	perf_sample__exit(&sample_sw);
@@ -2434,12 +2488,25 @@ static int __cmd_inject(struct perf_inject *inject)
 		 * synthesized hardware events, so clear the feature flag.
 		 */
 		if (inject->itrace_synth_opts.set) {
+			struct evsel *evsel;
+
 			perf_header__clear_feat(&session->header,
 						HEADER_AUXTRACE);
-			if (inject->itrace_synth_opts.last_branch ||
-			    inject->itrace_synth_opts.add_last_branch)
+
+			evlist__for_each_entry(session->evlist, evsel) {
+				evsel->core.attr.sample_type &= ~PERF_SAMPLE_AUX;
+			}
+
+			if (inject->itrace_synth_opts.add_last_branch) {
 				perf_header__set_feat(&session->header,
 						      HEADER_BRANCH_STACK);
+
+				evlist__for_each_entry(session->evlist, evsel) {
+					evsel->core.attr.sample_type |= PERF_SAMPLE_BRANCH_STACK;
+					evsel->core.attr.branch_sample_type |=
+						PERF_SAMPLE_BRANCH_HW_INDEX;
+				}
+			}
 		}
 
 		/*
diff --git a/tools/perf/tests/dlfilter-test.c b/tools/perf/tests/dlfilter-test.c
index e63790c61d53..204663571943 100644
--- a/tools/perf/tests/dlfilter-test.c
+++ b/tools/perf/tests/dlfilter-test.c
@@ -188,8 +188,12 @@ static int write_sample(struct test_data *td, u64 sample_type, u64 id, pid_t pid
 
 	event->header.type = PERF_RECORD_SAMPLE;
 	event->header.misc = PERF_RECORD_MISC_USER;
-	event->header.size = perf_event__sample_event_size(&sample, sample_type, 0);
-	err = perf_event__synthesize_sample(event, sample_type, 0, &sample);
+	event->header.size = perf_event__sample_event_size(&sample, sample_type,
+							   /*read_format=*/0,
+							   /*branch_sample_type=*/0);
+	err = perf_event__synthesize_sample(event, sample_type,
+					    /*read_format=*/0,
+					    /*branch_sample_type=*/0, &sample);
 	if (err)
 		return test_result("perf_event__synthesize_sample() failed", TEST_FAIL);
 
diff --git a/tools/perf/tests/sample-parsing.c b/tools/perf/tests/sample-parsing.c
index a7327c942ca2..55f0b73ca20e 100644
--- a/tools/perf/tests/sample-parsing.c
+++ b/tools/perf/tests/sample-parsing.c
@@ -310,7 +310,8 @@ static int do_test(u64 sample_type, u64 sample_regs, u64 read_format)
 		sample.read.one.lost  = 1;
 	}
 
-	sz = perf_event__sample_event_size(&sample, sample_type, read_format);
+	sz = perf_event__sample_event_size(&sample, sample_type, read_format,
+					   evsel.core.attr.branch_sample_type);
 	bufsz = sz + 4096; /* Add a bit for overrun checking */
 	event = malloc(bufsz);
 	if (!event) {
@@ -324,7 +325,7 @@ static int do_test(u64 sample_type, u64 sample_regs, u64 read_format)
 	event->header.size = sz;
 
 	err = perf_event__synthesize_sample(event, sample_type, read_format,
-					    &sample);
+					    evsel.core.attr.branch_sample_type, &sample);
 	if (err) {
 		pr_debug("%s failed for sample_type %#"PRIx64", error %d\n",
 			 "perf_event__synthesize_sample", sample_type, err);
diff --git a/tools/perf/util/arm-spe.c b/tools/perf/util/arm-spe.c
index e5835042acdf..c4ed9f10e731 100644
--- a/tools/perf/util/arm-spe.c
+++ b/tools/perf/util/arm-spe.c
@@ -484,8 +484,11 @@ static void arm_spe__prep_branch_stack(struct arm_spe_queue *speq)
 
 static int arm_spe__inject_event(union perf_event *event, struct perf_sample *sample, u64 type)
 {
-	event->header.size = perf_event__sample_event_size(sample, type, 0);
-	return perf_event__synthesize_sample(event, type, 0, sample);
+	event->header.type = PERF_RECORD_SAMPLE;
+	event->header.size = perf_event__sample_event_size(sample, type, /*read_format=*/0,
+							   /*branch_sample_type=*/0);
+	return perf_event__synthesize_sample(event, type, /*read_format=*/0,
+					     /*branch_sample_type=*/0, sample);
 }
 
 static inline int
diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
index 8a639d2e51a4..1ebc1a6a5e75 100644
--- a/tools/perf/util/cs-etm.c
+++ b/tools/perf/util/cs-etm.c
@@ -1425,8 +1425,10 @@ static void cs_etm__update_last_branch_rb(struct cs_etm_queue *etmq,
 static int cs_etm__inject_event(union perf_event *event,
 			       struct perf_sample *sample, u64 type)
 {
-	event->header.size = perf_event__sample_event_size(sample, type, 0);
-	return perf_event__synthesize_sample(event, type, 0, sample);
+	event->header.size = perf_event__sample_event_size(sample, type, /*read_format=*/0,
+							   /*branch_sample_type=*/0);
+	return perf_event__synthesize_sample(event, type, /*read_format=*/0,
+					     /*branch_sample_type=*/0, sample);
 }
 
 
diff --git a/tools/perf/util/intel-bts.c b/tools/perf/util/intel-bts.c
index 382255393fb3..0b18ebd13f7c 100644
--- a/tools/perf/util/intel-bts.c
+++ b/tools/perf/util/intel-bts.c
@@ -303,7 +303,8 @@ static int intel_bts_synth_branch_sample(struct intel_bts_queue *btsq,
 		event.sample.header.size = bts->branches_event_size;
 		ret = perf_event__synthesize_sample(&event,
 						    bts->branches_sample_type,
-						    0, &sample);
+						    /*read_format=*/0, /*branch_sample_type=*/0,
+						    &sample);
 		if (ret)
 			return ret;
 	}
diff --git a/tools/perf/util/intel-pt.c b/tools/perf/util/intel-pt.c
index fc9eec8b54b8..2dce6106c038 100644
--- a/tools/perf/util/intel-pt.c
+++ b/tools/perf/util/intel-pt.c
@@ -1731,8 +1731,12 @@ static void intel_pt_prep_b_sample(struct intel_pt *pt,
 static int intel_pt_inject_event(union perf_event *event,
 				 struct perf_sample *sample, u64 type)
 {
-	event->header.size = perf_event__sample_event_size(sample, type, 0);
-	return perf_event__synthesize_sample(event, type, 0, sample);
+	event->header.type = PERF_RECORD_SAMPLE;
+	event->header.size = perf_event__sample_event_size(sample, type, /*read_format=*/0,
+							   /*branch_sample_type=*/0);
+
+	return perf_event__synthesize_sample(event, type, /*read_format=*/0,
+					     /*branch_sample_type=*/0, sample);
 }
 
 static inline int intel_pt_opt_inject(struct intel_pt *pt,
@@ -2486,7 +2490,7 @@ static int intel_pt_do_synth_pebs_sample(struct intel_pt_queue *ptq, struct evse
 		intel_pt_add_xmm(intr_regs, pos, items, regs_mask);
 	}
 
-	if (sample_type & PERF_SAMPLE_BRANCH_STACK) {
+	if ((sample_type | evsel->synth_sample_type) & PERF_SAMPLE_BRANCH_STACK) {
 		if (items->mask[INTEL_PT_LBR_0_POS] ||
 		    items->mask[INTEL_PT_LBR_1_POS] ||
 		    items->mask[INTEL_PT_LBR_2_POS]) {
@@ -2557,7 +2561,8 @@ static int intel_pt_do_synth_pebs_sample(struct intel_pt_queue *ptq, struct evse
 		sample.transaction = txn;
 	}
 
-	ret = intel_pt_deliver_synth_event(pt, event, &sample, sample_type);
+	ret = intel_pt_deliver_synth_event(pt, event, &sample,
+					   sample_type | evsel->synth_sample_type);
 	perf_sample__exit(&sample);
 	return ret;
 }
diff --git a/tools/perf/util/synthetic-events.c b/tools/perf/util/synthetic-events.c
index 85bee747f4cd..2461f25a4d7d 100644
--- a/tools/perf/util/synthetic-events.c
+++ b/tools/perf/util/synthetic-events.c
@@ -1455,7 +1455,8 @@ int perf_event__synthesize_stat_round(const struct perf_tool *tool,
 	return process(tool, (union perf_event *) &event, NULL, machine);
 }
 
-size_t perf_event__sample_event_size(const struct perf_sample *sample, u64 type, u64 read_format)
+size_t perf_event__sample_event_size(const struct perf_sample *sample, u64 type, u64 read_format,
+				     u64 branch_sample_type)
 {
 	size_t sz, result = sizeof(struct perf_record_sample);
 
@@ -1515,8 +1516,10 @@ size_t perf_event__sample_event_size(const struct perf_sample *sample, u64 type,
 
 	if (type & PERF_SAMPLE_BRANCH_STACK) {
 		sz = sample->branch_stack->nr * sizeof(struct branch_entry);
-		/* nr, hw_idx */
-		sz += 2 * sizeof(u64);
+		/* nr */
+		sz += sizeof(u64);
+		if (branch_sample_type & PERF_SAMPLE_BRANCH_HW_INDEX)
+			sz += sizeof(u64);
 		result += sz;
 	}
 
@@ -1605,7 +1608,7 @@ static __u64 *copy_read_group_values(__u64 *array, __u64 read_format,
 }
 
 int perf_event__synthesize_sample(union perf_event *event, u64 type, u64 read_format,
-				  const struct perf_sample *sample)
+				  u64 branch_sample_type, const struct perf_sample *sample)
 {
 	__u64 *array;
 	size_t sz;
@@ -1719,9 +1722,17 @@ int perf_event__synthesize_sample(union perf_event *event, u64 type, u64 read_fo
 
 	if (type & PERF_SAMPLE_BRANCH_STACK) {
 		sz = sample->branch_stack->nr * sizeof(struct branch_entry);
-		/* nr, hw_idx */
-		sz += 2 * sizeof(u64);
-		memcpy(array, sample->branch_stack, sz);
+
+		*array++ = sample->branch_stack->nr;
+
+		if (branch_sample_type & PERF_SAMPLE_BRANCH_HW_INDEX) {
+			if (sample->no_hw_idx)
+				*array++ = 0;
+			else
+				*array++ = sample->branch_stack->hw_idx;
+		}
+
+		memcpy(array, perf_sample__branch_entries((struct perf_sample *)sample), sz);
 		array = (void *)array + sz;
 	}
 
diff --git a/tools/perf/util/synthetic-events.h b/tools/perf/util/synthetic-events.h
index b0edad0c3100..8c7f49f9ccf5 100644
--- a/tools/perf/util/synthetic-events.h
+++ b/tools/perf/util/synthetic-events.h
@@ -81,7 +81,8 @@ int perf_event__synthesize_mmap_events(const struct perf_tool *tool, union perf_
 int perf_event__synthesize_modules(const struct perf_tool *tool, perf_event__handler_t process, struct machine *machine);
 int perf_event__synthesize_namespaces(const struct perf_tool *tool, union perf_event *event, pid_t pid, pid_t tgid, perf_event__handler_t process, struct machine *machine);
 int perf_event__synthesize_cgroups(const struct perf_tool *tool, perf_event__handler_t process, struct machine *machine);
-int perf_event__synthesize_sample(union perf_event *event, u64 type, u64 read_format, const struct perf_sample *sample);
+int perf_event__synthesize_sample(union perf_event *event, u64 type, u64 read_format,
+				  u64 branch_sample_type, const struct perf_sample *sample);
 int perf_event__synthesize_stat_config(const struct perf_tool *tool, struct perf_stat_config *config, perf_event__handler_t process, struct machine *machine);
 int perf_event__synthesize_stat_events(struct perf_stat_config *config, const struct perf_tool *tool, struct evlist *evlist, perf_event__handler_t process, bool attrs);
 int perf_event__synthesize_stat_round(const struct perf_tool *tool, u64 time, u64 type, perf_event__handler_t process, struct machine *machine);
@@ -97,7 +98,8 @@ void perf_event__synthesize_final_bpf_metadata(struct perf_session *session,
 
 int perf_tool__process_synth_event(const struct perf_tool *tool, union perf_event *event, struct machine *machine, perf_event__handler_t process);
 
-size_t perf_event__sample_event_size(const struct perf_sample *sample, u64 type, u64 read_format);
+size_t perf_event__sample_event_size(const struct perf_sample *sample, u64 type,
+				     u64 read_format, u64 branch_sample_type);
 
 int __machine__synthesize_threads(struct machine *machine, const struct perf_tool *tool,
 				  struct target *target, struct perf_thread_map *threads,
-- 
2.54.0.545.g6539524ca2-goog


  reply	other threads:[~2026-04-25 22:41 UTC|newest]

Thread overview: 681+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-19 23:58 [PATCH v1 00/58] perf: Reorganize scripting support Ian Rogers
2026-04-19 23:58 ` [PATCH v1 01/58] perf inject: Fix itrace branch stack synthesis Ian Rogers
2026-04-20  0:49   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 02/58] perf arch arm: Sort includes and add missed explicit dependencies Ian Rogers
2026-04-19 23:58 ` [PATCH v1 03/58] perf arch x86: " Ian Rogers
2026-04-19 23:58 ` [PATCH v1 04/58] perf tests: " Ian Rogers
2026-04-19 23:58 ` [PATCH v1 05/58] perf script: " Ian Rogers
2026-04-19 23:58 ` [PATCH v1 06/58] perf util: " Ian Rogers
2026-04-20  0:20   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 07/58] perf python: Add " Ian Rogers
2026-04-19 23:58 ` [PATCH v1 08/58] perf evsel/evlist: Avoid unnecessary #includes Ian Rogers
2026-04-20  0:14   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 09/58] perf data: Add open flag Ian Rogers
2026-04-20  0:44   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 10/58] perf evlist: Add reference count Ian Rogers
2026-04-20  0:53   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 11/58] perf evsel: " Ian Rogers
2026-04-20  0:48   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 12/58] perf evlist: Add reference count checking Ian Rogers
2026-04-20  0:54   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 13/58] perf python: Use evsel in sample in pyrf_event Ian Rogers
2026-04-20  0:46   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 14/58] perf python: Add wrapper for perf_data file abstraction Ian Rogers
2026-04-20  0:33   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 15/58] perf python: Add python session abstraction wrapping perf's session Ian Rogers
2026-04-20  0:46   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 16/58] perf python: Add syscall name/id to convert syscall number and name Ian Rogers
2026-04-20  0:35   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 17/58] perf python: Refactor and add accessors to sample event Ian Rogers
2026-04-20  1:16   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 18/58] perf python: Add callchain support Ian Rogers
2026-04-20  0:48   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 19/58] perf python: Add config file access Ian Rogers
2026-04-20  0:27   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 20/58] perf python: Extend API for stat events in python.c Ian Rogers
2026-04-20  0:37   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 21/58] perf python: Expose brstack in sample event Ian Rogers
2026-04-20  0:34   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 22/58] perf python: Add perf.pyi stubs file Ian Rogers
2026-04-20  0:33   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 23/58] perf python: Add LiveSession helper Ian Rogers
2026-04-20  2:14   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 24/58] perf python: Move exported-sql-viewer.py and parallel-perf.py to tools/perf/python/ Ian Rogers
2026-04-20  0:22   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 25/58] perf stat-cpi: Port stat-cpi to use python module Ian Rogers
2026-04-20  0:33   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 26/58] perf mem-phys-addr: Port mem-phys-addr " Ian Rogers
2026-04-20  0:20   ` sashiko-bot
2026-04-23  3:54   ` [PATCH v2 00/58] perf: Reorganize scripting support Ian Rogers
2026-04-23  3:54     ` [PATCH v2 01/58] perf inject: Fix itrace branch stack synthesis Ian Rogers
2026-04-23  4:41       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 02/58] perf arch arm: Sort includes and add missed explicit dependencies Ian Rogers
2026-04-23  3:54     ` [PATCH v2 03/58] perf arch x86: " Ian Rogers
2026-04-23  3:54     ` [PATCH v2 04/58] perf tests: " Ian Rogers
2026-04-23  3:54     ` [PATCH v2 05/58] perf script: " Ian Rogers
2026-04-23  3:54     ` [PATCH v2 06/58] perf util: " Ian Rogers
2026-04-23  3:54     ` [PATCH v2 07/58] perf python: Add " Ian Rogers
2026-04-23  3:54     ` [PATCH v2 08/58] perf evsel/evlist: Avoid unnecessary #includes Ian Rogers
2026-04-23  3:54     ` [PATCH v2 09/58] perf data: Add open flag Ian Rogers
2026-04-23  3:54     ` [PATCH v2 10/58] perf evlist: Add reference count Ian Rogers
2026-04-23  4:19       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 11/58] perf evsel: " Ian Rogers
2026-04-23  4:24       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 12/58] perf evlist: Add reference count checking Ian Rogers
2026-04-23  4:34       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 13/58] perf python: Use evsel in sample in pyrf_event Ian Rogers
2026-04-23  6:00       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 14/58] perf python: Add wrapper for perf_data file abstraction Ian Rogers
2026-04-23  4:25       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 15/58] perf python: Add python session abstraction wrapping perf's session Ian Rogers
2026-04-23  5:05       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 16/58] perf python: Add syscall name/id to convert syscall number and name Ian Rogers
2026-04-23  4:25       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 17/58] perf python: Refactor and add accessors to sample event Ian Rogers
2026-04-23  5:29       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 18/58] perf python: Add callchain support Ian Rogers
2026-04-23  4:19       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 19/58] perf python: Add config file access Ian Rogers
2026-04-23  3:54     ` [PATCH v2 20/58] perf python: Extend API for stat events in python.c Ian Rogers
2026-04-23  4:19       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 21/58] perf python: Expose brstack in sample event Ian Rogers
2026-04-23  4:19       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 22/58] perf python: Add perf.pyi stubs file Ian Rogers
2026-04-23  4:20       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 23/58] perf python: Add LiveSession helper Ian Rogers
2026-04-23  4:31       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 24/58] perf python: Move exported-sql-viewer.py and parallel-perf.py to tools/perf/python/ Ian Rogers
2026-04-23  4:11       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 25/58] perf stat-cpi: Port stat-cpi to use python module Ian Rogers
2026-04-23  4:18       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 26/58] perf mem-phys-addr: Port mem-phys-addr " Ian Rogers
2026-04-23  4:10       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 27/58] perf syscall-counts: Port syscall-counts " Ian Rogers
2026-04-23  3:54     ` [PATCH v2 28/58] perf syscall-counts-by-pid: Port syscall-counts-by-pid " Ian Rogers
2026-04-23  4:14       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 29/58] perf futex-contention: Port futex-contention " Ian Rogers
2026-04-23  4:13       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 30/58] perf flamegraph: Port flamegraph " Ian Rogers
2026-04-23  4:14       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 31/58] perf gecko: Port gecko " Ian Rogers
2026-04-23  4:20       ` sashiko-bot
2026-04-23  3:54     ` [PATCH v2 32/58] perf arm-cs-trace-disasm: Port arm-cs-trace-disasm " Ian Rogers
2026-04-23  4:31       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 33/58] perf check-perf-trace: Port check-perf-trace " Ian Rogers
2026-04-23  4:18       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 34/58] perf compaction-times: Port compaction-times " Ian Rogers
2026-04-23  4:24       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 35/58] perf event_analyzing_sample: Port event_analyzing_sample " Ian Rogers
2026-04-23  3:55     ` [PATCH v2 36/58] perf export-to-sqlite: Port export-to-sqlite " Ian Rogers
2026-04-23  4:17       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 37/58] perf export-to-postgresql: Port export-to-postgresql " Ian Rogers
2026-04-23  4:19       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 38/58] perf failed-syscalls-by-pid: Port failed-syscalls-by-pid " Ian Rogers
2026-04-23  4:12       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 39/58] perf intel-pt-events: Port intel-pt-events/libxed " Ian Rogers
2026-04-23  4:11       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 40/58] perf net_dropmonitor: Port net_dropmonitor " Ian Rogers
2026-04-23  4:07       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 41/58] perf netdev-times: Port netdev-times " Ian Rogers
2026-04-23  4:11       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 42/58] perf powerpc-hcalls: Port powerpc-hcalls " Ian Rogers
2026-04-23  4:15       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 43/58] perf sched-migration: Port sched-migration/SchedGui " Ian Rogers
2026-04-23  3:55     ` [PATCH v2 44/58] perf sctop: Port sctop " Ian Rogers
2026-04-23  4:20       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 45/58] perf stackcollapse: Port stackcollapse " Ian Rogers
2026-04-23  4:17       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 46/58] perf task-analyzer: Port task-analyzer " Ian Rogers
2026-04-23  4:30       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 47/58] perf failed-syscalls: Port failed-syscalls " Ian Rogers
2026-04-23  4:19       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 48/58] perf rw-by-file: Port rw-by-file " Ian Rogers
2026-04-23  4:28       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 49/58] perf rw-by-pid: Port rw-by-pid " Ian Rogers
2026-04-23  4:14       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 50/58] perf rwtop: Port rwtop " Ian Rogers
2026-04-23  4:26       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 51/58] perf wakeup-latency: Port wakeup-latency " Ian Rogers
2026-04-23  3:55     ` [PATCH v2 52/58] perf test: Migrate Intel PT virtual LBR test to use Python API Ian Rogers
2026-04-23  4:27       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 53/58] perf: Remove libperl support, legacy Perl scripts and tests Ian Rogers
2026-04-23  3:55     ` [PATCH v2 54/58] perf: Remove libpython support and legacy Python scripts Ian Rogers
2026-04-23  3:55     ` [PATCH v2 55/58] perf Makefile: Update Python script installation path Ian Rogers
2026-04-23  4:33       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 56/58] perf script: Refactor to support standalone scripts and remove legacy features Ian Rogers
2026-04-23  4:57       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 57/58] perf Documentation: Update for standalone Python scripts and remove obsolete data Ian Rogers
2026-04-23  5:31       ` sashiko-bot
2026-04-23  3:55     ` [PATCH v2 58/58] perf python: Improve perf script -l descriptions Ian Rogers
2026-04-23  4:50       ` sashiko-bot
2026-04-23 16:09     ` [PATCH v3 00/58] perf: Reorganize scripting support Ian Rogers
2026-04-23 16:09       ` [PATCH v3 01/58] perf arch arm: Sort includes and add missed explicit dependencies Ian Rogers
2026-04-23 16:09       ` [PATCH v3 02/58] perf arch x86: " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 03/58] perf tests: " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 04/58] perf script: " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 05/58] perf util: " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 06/58] perf python: Add " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 07/58] perf evsel/evlist: Avoid unnecessary #includes Ian Rogers
2026-04-23 16:09       ` [PATCH v3 08/58] perf data: Add open flag Ian Rogers
2026-04-23 16:09       ` [PATCH v3 09/58] perf evlist: Add reference count Ian Rogers
2026-04-23 16:09       ` [PATCH v3 10/58] perf evsel: " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 11/58] perf evlist: Add reference count checking Ian Rogers
2026-04-23 16:09       ` [PATCH v3 12/58] perf python: Use evsel in sample in pyrf_event Ian Rogers
2026-04-23 16:09       ` [PATCH v3 13/58] perf python: Add wrapper for perf_data file abstraction Ian Rogers
2026-04-23 16:09       ` [PATCH v3 14/58] perf python: Add python session abstraction wrapping perf's session Ian Rogers
2026-04-23 16:09       ` [PATCH v3 15/58] perf python: Add syscall name/id to convert syscall number and name Ian Rogers
2026-04-23 16:09       ` [PATCH v3 16/58] perf python: Refactor and add accessors to sample event Ian Rogers
2026-04-23 16:09       ` [PATCH v3 17/58] perf python: Add callchain support Ian Rogers
2026-04-23 16:09       ` [PATCH v3 18/58] perf python: Add config file access Ian Rogers
2026-04-23 16:09       ` [PATCH v3 19/58] perf python: Extend API for stat events in python.c Ian Rogers
2026-04-23 16:09       ` [PATCH v3 20/58] perf python: Expose brstack in sample event Ian Rogers
2026-04-23 16:09       ` [PATCH v3 21/58] perf python: Add perf.pyi stubs file Ian Rogers
2026-04-23 16:09       ` [PATCH v3 22/58] perf python: Add LiveSession helper Ian Rogers
2026-04-23 16:09       ` [PATCH v3 23/58] perf python: Move exported-sql-viewer.py and parallel-perf.py to tools/perf/python/ Ian Rogers
2026-04-23 16:09       ` [PATCH v3 24/58] perf stat-cpi: Port stat-cpi to use python module Ian Rogers
2026-04-23 16:09       ` [PATCH v3 25/58] perf mem-phys-addr: Port mem-phys-addr " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 26/58] perf syscall-counts: Port syscall-counts " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 27/58] perf syscall-counts-by-pid: Port syscall-counts-by-pid " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 28/58] perf futex-contention: Port futex-contention " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 29/58] perf flamegraph: Port flamegraph " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 30/58] perf gecko: Port gecko " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 31/58] perf arm-cs-trace-disasm: Port arm-cs-trace-disasm " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 32/58] perf check-perf-trace: Port check-perf-trace " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 33/58] perf compaction-times: Port compaction-times " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 34/58] perf event_analyzing_sample: Port event_analyzing_sample " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 35/58] perf export-to-sqlite: Port export-to-sqlite " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 36/58] perf export-to-postgresql: Port export-to-postgresql " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 37/58] perf failed-syscalls-by-pid: Port failed-syscalls-by-pid " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 38/58] perf intel-pt-events: Port intel-pt-events/libxed " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 39/58] perf net_dropmonitor: Port net_dropmonitor " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 40/58] perf netdev-times: Port netdev-times " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 41/58] perf powerpc-hcalls: Port powerpc-hcalls " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 42/58] perf sched-migration: Port sched-migration/SchedGui " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 43/58] perf sctop: Port sctop " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 44/58] perf stackcollapse: Port stackcollapse " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 45/58] perf task-analyzer: Port task-analyzer " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 46/58] perf failed-syscalls: Port failed-syscalls " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 47/58] perf rw-by-file: Port rw-by-file " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 48/58] perf rw-by-pid: Port rw-by-pid " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 49/58] perf rwtop: Port rwtop " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 50/58] perf wakeup-latency: Port wakeup-latency " Ian Rogers
2026-04-23 16:09       ` [PATCH v3 51/58] perf test: Migrate Intel PT virtual LBR test to use Python API Ian Rogers
2026-04-23 16:09       ` [PATCH v3 52/58] perf: Remove libperl support, legacy Perl scripts and tests Ian Rogers
2026-04-23 16:10       ` [PATCH v3 53/58] perf: Remove libpython support and legacy Python scripts Ian Rogers
2026-04-23 16:10       ` [PATCH v3 54/58] perf Makefile: Update Python script installation path Ian Rogers
2026-04-23 16:10       ` [PATCH v3 55/58] perf script: Refactor to support standalone scripts and remove legacy features Ian Rogers
2026-04-23 16:10       ` [PATCH v3 56/58] perf Documentation: Update for standalone Python scripts and remove obsolete data Ian Rogers
2026-04-23 16:10       ` [PATCH v3 57/58] perf python: Improve perf script -l descriptions Ian Rogers
2026-04-23 16:10       ` [PATCH v3 58/58] fixup! perf check-perf-trace: Port check-perf-trace to use python module Ian Rogers
2026-04-23 16:33       ` [PATCH v4 00/58] perf: Reorganize scripting support Ian Rogers
2026-04-23 16:33         ` [PATCH v4 01/58] perf inject: Fix itrace branch stack synthesis Ian Rogers
2026-04-23 16:33         ` [PATCH v4 02/58] perf arch arm: Sort includes and add missed explicit dependencies Ian Rogers
2026-04-23 16:33         ` [PATCH v4 03/58] perf arch x86: " Ian Rogers
2026-04-23 16:33         ` [PATCH v4 04/58] perf tests: " Ian Rogers
2026-04-23 16:33         ` [PATCH v4 05/58] perf script: " Ian Rogers
2026-04-23 16:33         ` [PATCH v4 06/58] perf util: " Ian Rogers
2026-04-23 16:33         ` [PATCH v4 07/58] perf python: Add " Ian Rogers
2026-04-23 16:33         ` [PATCH v4 08/58] perf evsel/evlist: Avoid unnecessary #includes Ian Rogers
2026-04-23 16:33         ` [PATCH v4 09/58] perf data: Add open flag Ian Rogers
2026-04-23 16:33         ` [PATCH v4 10/58] perf evlist: Add reference count Ian Rogers
2026-04-23 16:33         ` [PATCH v4 11/58] perf evsel: " Ian Rogers
2026-04-23 16:33         ` [PATCH v4 12/58] perf evlist: Add reference count checking Ian Rogers
2026-04-23 16:33         ` [PATCH v4 13/58] perf python: Use evsel in sample in pyrf_event Ian Rogers
2026-04-23 16:33         ` [PATCH v4 14/58] perf python: Add wrapper for perf_data file abstraction Ian Rogers
2026-04-23 16:33         ` [PATCH v4 15/58] perf python: Add python session abstraction wrapping perf's session Ian Rogers
2026-04-23 16:33         ` [PATCH v4 16/58] perf python: Add syscall name/id to convert syscall number and name Ian Rogers
2026-04-23 16:33         ` [PATCH v4 17/58] perf python: Refactor and add accessors to sample event Ian Rogers
2026-04-23 16:33         ` [PATCH v4 18/58] perf python: Add callchain support Ian Rogers
2026-04-23 16:33         ` [PATCH v4 19/58] perf python: Add config file access Ian Rogers
2026-04-23 16:33         ` [PATCH v4 20/58] perf python: Extend API for stat events in python.c Ian Rogers
2026-04-23 16:33         ` [PATCH v4 21/58] perf python: Expose brstack in sample event Ian Rogers
2026-04-23 16:33         ` [PATCH v4 22/58] perf python: Add perf.pyi stubs file Ian Rogers
2026-04-23 16:33         ` [PATCH v4 23/58] perf python: Add LiveSession helper Ian Rogers
2026-04-23 16:33         ` [PATCH v4 24/58] perf python: Move exported-sql-viewer.py and parallel-perf.py to tools/perf/python/ Ian Rogers
2026-04-23 16:33         ` [PATCH v4 25/58] perf stat-cpi: Port stat-cpi to use python module Ian Rogers
2026-04-23 16:33         ` [PATCH v4 26/58] perf mem-phys-addr: Port mem-phys-addr " Ian Rogers
2026-04-23 16:33         ` [PATCH v4 27/58] perf syscall-counts: Port syscall-counts " Ian Rogers
2026-04-23 17:58         ` [PATCH v4 00/58] perf: Reorganize scripting support Ian Rogers
2026-04-24 16:46         ` [PATCH v5 " Ian Rogers
2026-04-24 16:46           ` [PATCH v5 01/58] perf inject: Fix itrace branch stack synthesis Ian Rogers
2026-04-24 17:32             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 02/58] perf arch arm: Sort includes and add missed explicit dependencies Ian Rogers
2026-04-24 17:08             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 03/58] perf arch x86: " Ian Rogers
2026-04-24 16:46           ` [PATCH v5 04/58] perf tests: " Ian Rogers
2026-04-24 16:46           ` [PATCH v5 05/58] perf script: " Ian Rogers
2026-04-24 16:46           ` [PATCH v5 06/58] perf util: " Ian Rogers
2026-04-24 16:46           ` [PATCH v5 07/58] perf python: Add " Ian Rogers
2026-04-24 16:46           ` [PATCH v5 08/58] perf evsel/evlist: Avoid unnecessary #includes Ian Rogers
2026-04-24 16:46           ` [PATCH v5 09/58] perf data: Add open flag Ian Rogers
2026-04-24 16:46           ` [PATCH v5 10/58] perf evlist: Add reference count Ian Rogers
2026-04-24 17:25             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 11/58] perf evsel: " Ian Rogers
2026-04-24 17:31             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 12/58] perf evlist: Add reference count checking Ian Rogers
2026-04-24 17:37             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 13/58] perf python: Use evsel in sample in pyrf_event Ian Rogers
2026-04-24 16:46           ` [PATCH v5 14/58] perf python: Add wrapper for perf_data file abstraction Ian Rogers
2026-04-24 17:35             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 15/58] perf python: Add python session abstraction wrapping perf's session Ian Rogers
2026-04-24 18:08             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 16/58] perf python: Add syscall name/id to convert syscall number and name Ian Rogers
2026-04-24 17:19             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 17/58] perf python: Refactor and add accessors to sample event Ian Rogers
2026-04-24 18:23             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 18/58] perf python: Add callchain support Ian Rogers
2026-04-24 17:38             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 19/58] perf python: Add config file access Ian Rogers
2026-04-24 16:46           ` [PATCH v5 20/58] perf python: Extend API for stat events in python.c Ian Rogers
2026-04-24 17:17             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 21/58] perf python: Expose brstack in sample event Ian Rogers
2026-04-24 17:38             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 22/58] perf python: Add perf.pyi stubs file Ian Rogers
2026-04-24 17:13             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 23/58] perf python: Add LiveSession helper Ian Rogers
2026-04-24 18:15             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 24/58] perf python: Move exported-sql-viewer.py and parallel-perf.py to tools/perf/python/ Ian Rogers
2026-04-24 17:15             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 25/58] perf stat-cpi: Port stat-cpi to use python module Ian Rogers
2026-04-24 17:29             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 26/58] perf mem-phys-addr: Port mem-phys-addr " Ian Rogers
2026-04-24 17:08             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 27/58] perf syscall-counts: Port syscall-counts " Ian Rogers
2026-04-24 17:13             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 28/58] perf syscall-counts-by-pid: Port syscall-counts-by-pid " Ian Rogers
2026-04-24 17:07             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 29/58] perf futex-contention: Port futex-contention " Ian Rogers
2026-04-24 17:13             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 30/58] perf flamegraph: Port flamegraph " Ian Rogers
2026-04-24 17:22             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 31/58] perf gecko: Port gecko " Ian Rogers
2026-04-24 17:18             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 32/58] perf arm-cs-trace-disasm: Port arm-cs-trace-disasm " Ian Rogers
2026-04-24 17:36             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 33/58] perf check-perf-trace: Port check-perf-trace " Ian Rogers
2026-04-24 17:14             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 34/58] perf compaction-times: Port compaction-times " Ian Rogers
2026-04-24 17:15             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 35/58] perf event_analyzing_sample: Port event_analyzing_sample " Ian Rogers
2026-04-24 17:12             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 36/58] perf export-to-sqlite: Port export-to-sqlite " Ian Rogers
2026-04-24 17:17             ` sashiko-bot
2026-04-24 16:46           ` [PATCH v5 37/58] perf export-to-postgresql: Port export-to-postgresql " Ian Rogers
2026-04-24 17:11             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 38/58] perf failed-syscalls-by-pid: Port failed-syscalls-by-pid " Ian Rogers
2026-04-24 17:07             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 39/58] perf intel-pt-events: Port intel-pt-events/libxed " Ian Rogers
2026-04-24 17:13             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 40/58] perf net_dropmonitor: Port net_dropmonitor " Ian Rogers
2026-04-24 17:03             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 41/58] perf netdev-times: Port netdev-times " Ian Rogers
2026-04-24 17:18             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 42/58] perf powerpc-hcalls: Port powerpc-hcalls " Ian Rogers
2026-04-24 17:22             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 43/58] perf sched-migration: Port sched-migration/SchedGui " Ian Rogers
2026-04-24 16:47           ` [PATCH v5 44/58] perf sctop: Port sctop " Ian Rogers
2026-04-24 17:26             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 45/58] perf stackcollapse: Port stackcollapse " Ian Rogers
2026-04-24 17:23             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 46/58] perf task-analyzer: Port task-analyzer " Ian Rogers
2026-04-24 17:30             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 47/58] perf failed-syscalls: Port failed-syscalls " Ian Rogers
2026-04-24 17:20             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 48/58] perf rw-by-file: Port rw-by-file " Ian Rogers
2026-04-24 17:43             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 49/58] perf rw-by-pid: Port rw-by-pid " Ian Rogers
2026-04-24 17:21             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 50/58] perf rwtop: Port rwtop " Ian Rogers
2026-04-24 17:14             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 51/58] perf wakeup-latency: Port wakeup-latency " Ian Rogers
2026-04-24 17:39             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 52/58] perf test: Migrate Intel PT virtual LBR test to use Python API Ian Rogers
2026-04-24 17:28             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 53/58] perf: Remove libperl support, legacy Perl scripts and tests Ian Rogers
2026-04-24 17:47             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 54/58] perf: Remove libpython support and legacy Python scripts Ian Rogers
2026-04-24 16:47           ` [PATCH v5 55/58] perf Makefile: Update Python script installation path Ian Rogers
2026-04-24 18:21             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 56/58] perf script: Refactor to support standalone scripts and remove legacy features Ian Rogers
2026-04-24 17:38             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 57/58] perf Documentation: Update for standalone Python scripts and remove obsolete data Ian Rogers
2026-04-24 17:30             ` sashiko-bot
2026-04-24 16:47           ` [PATCH v5 58/58] perf python: Improve perf script -l descriptions Ian Rogers
2026-04-24 17:35             ` sashiko-bot
2026-04-25 17:47           ` [PATCH v6 00/59] perf: Reorganize scripting support Ian Rogers
2026-04-25 17:47             ` [PATCH v6 01/59] perf inject: Fix itrace branch stack synthesis Ian Rogers
2026-04-25 18:31               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 02/59] perf arch arm: Sort includes and add missed explicit dependencies Ian Rogers
2026-04-25 17:48             ` [PATCH v6 03/59] perf arch x86: " Ian Rogers
2026-04-25 17:48             ` [PATCH v6 04/59] perf tests: " Ian Rogers
2026-04-25 17:48             ` [PATCH v6 05/59] perf script: " Ian Rogers
2026-04-25 17:48             ` [PATCH v6 06/59] perf util: " Ian Rogers
2026-04-25 17:48             ` [PATCH v6 07/59] perf python: Add " Ian Rogers
2026-04-25 17:48             ` [PATCH v6 08/59] perf evsel/evlist: Avoid unnecessary #includes Ian Rogers
2026-04-25 17:48             ` [PATCH v6 09/59] perf data: Add open flag Ian Rogers
2026-04-25 18:20               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 10/59] perf evlist: Add reference count Ian Rogers
2026-04-25 18:16               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 11/59] perf evsel: " Ian Rogers
2026-04-25 18:19               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 12/59] perf evlist: Add reference count checking Ian Rogers
2026-04-25 18:28               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 13/59] perf python: Use evsel in sample in pyrf_event Ian Rogers
2026-04-25 19:06               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 14/59] perf python: Add wrapper for perf_data file abstraction Ian Rogers
2026-04-25 18:19               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 15/59] perf python: Add python session abstraction wrapping perf's session Ian Rogers
2026-04-25 18:33               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 16/59] perf python: Add syscall name/id to convert syscall number and name Ian Rogers
2026-04-25 18:15               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 17/59] perf python: Refactor and add accessors to sample event Ian Rogers
2026-04-25 18:43               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 18/59] perf python: Add callchain support Ian Rogers
2026-04-25 18:15               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 19/59] perf python: Add config file access Ian Rogers
2026-04-25 17:48             ` [PATCH v6 20/59] perf python: Extend API for stat events in python.c Ian Rogers
2026-04-25 18:19               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 21/59] perf python: Expose brstack in sample event Ian Rogers
2026-04-25 18:11               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 22/59] perf python: Add perf.pyi stubs file Ian Rogers
2026-04-25 18:11               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 23/59] perf python: Add LiveSession helper Ian Rogers
2026-04-25 18:29               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 24/59] perf python: Move exported-sql-viewer.py and parallel-perf.py to tools/perf/python/ Ian Rogers
2026-04-25 18:07               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 25/59] perf stat-cpi: Port stat-cpi to use python module Ian Rogers
2026-04-25 18:07               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 26/59] perf mem-phys-addr: Port mem-phys-addr " Ian Rogers
2026-04-25 18:07               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 27/59] perf syscall-counts: Port syscall-counts " Ian Rogers
2026-04-25 18:04               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 28/59] perf syscall-counts-by-pid: Port syscall-counts-by-pid " Ian Rogers
2026-04-25 18:03               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 29/59] perf futex-contention: Port futex-contention " Ian Rogers
2026-04-25 18:09               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 30/59] perf flamegraph: Port flamegraph " Ian Rogers
2026-04-25 18:12               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 31/59] perf gecko: Port gecko " Ian Rogers
2026-04-25 17:48             ` [PATCH v6 32/59] perf arm-cs-trace-disasm: Port arm-cs-trace-disasm " Ian Rogers
2026-04-25 18:15               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 33/59] perf check-perf-trace: Port check-perf-trace " Ian Rogers
2026-04-25 18:08               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 34/59] perf compaction-times: Port compaction-times " Ian Rogers
2026-04-25 18:10               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 35/59] perf event_analyzing_sample: Port event_analyzing_sample " Ian Rogers
2026-04-25 17:48             ` [PATCH v6 36/59] perf export-to-sqlite: Port export-to-sqlite " Ian Rogers
2026-04-25 18:12               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 37/59] perf export-to-postgresql: Port export-to-postgresql " Ian Rogers
2026-04-25 18:12               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 38/59] perf failed-syscalls-by-pid: Port failed-syscalls-by-pid " Ian Rogers
2026-04-25 18:05               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 39/59] perf intel-pt-events: Port intel-pt-events/libxed " Ian Rogers
2026-04-25 18:10               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 40/59] perf net_dropmonitor: Port net_dropmonitor " Ian Rogers
2026-04-25 18:00               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 41/59] perf netdev-times: Port netdev-times " Ian Rogers
2026-04-25 18:12               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 42/59] perf powerpc-hcalls: Port powerpc-hcalls " Ian Rogers
2026-04-25 18:09               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 43/59] perf sched-migration: Port sched-migration/SchedGui " Ian Rogers
2026-04-25 17:48             ` [PATCH v6 44/59] perf sctop: Port sctop " Ian Rogers
2026-04-25 18:08               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 45/59] perf stackcollapse: Port stackcollapse " Ian Rogers
2026-04-25 18:08               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 46/59] perf task-analyzer: Port task-analyzer " Ian Rogers
2026-04-25 18:18               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 47/59] perf failed-syscalls: Port failed-syscalls " Ian Rogers
2026-04-25 18:08               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 48/59] perf rw-by-file: Port rw-by-file " Ian Rogers
2026-04-25 17:48             ` [PATCH v6 49/59] perf rw-by-pid: Port rw-by-pid " Ian Rogers
2026-04-25 18:04               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 50/59] perf rwtop: Port rwtop " Ian Rogers
2026-04-25 18:08               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 51/59] perf wakeup-latency: Port wakeup-latency " Ian Rogers
2026-04-25 18:04               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 52/59] perf test: Migrate Intel PT virtual LBR test to use Python API Ian Rogers
2026-04-25 18:14               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 53/59] perf: Remove libperl support, legacy Perl scripts and tests Ian Rogers
2026-04-25 18:19               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 54/59] perf: Remove libpython support and legacy Python scripts Ian Rogers
2026-04-25 17:48             ` [PATCH v6 55/59] perf Makefile: Update Python script installation path Ian Rogers
2026-04-25 18:26               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 56/59] perf script: Refactor to support standalone scripts and remove legacy features Ian Rogers
2026-04-25 18:24               ` sashiko-bot
2026-04-25 17:48             ` [PATCH v6 57/59] perf Documentation: Update for standalone Python scripts and remove obsolete data Ian Rogers
2026-04-25 17:48             ` [PATCH v6 58/59] perf python: Improve perf script -l descriptions Ian Rogers
2026-04-25 17:48             ` [PATCH v6 59/59] perf sched stats: Fix segmentation faults in diff mode Ian Rogers
2026-04-25 18:25               ` sashiko-bot
2026-04-25 22:40             ` [PATCH v7 00/59] perf: Reorganize scripting support Ian Rogers
2026-04-25 22:40               ` Ian Rogers [this message]
2026-04-25 22:40               ` [PATCH v7 02/59] perf arch arm: Sort includes and add missed explicit dependencies Ian Rogers
2026-04-25 22:40               ` [PATCH v7 03/59] perf arch x86: " Ian Rogers
2026-04-25 22:40               ` [PATCH v7 04/59] perf tests: " Ian Rogers
2026-04-25 22:40               ` [PATCH v7 05/59] perf script: " Ian Rogers
2026-04-25 22:40               ` [PATCH v7 06/59] perf util: " Ian Rogers
2026-04-25 22:40               ` [PATCH v7 07/59] perf python: Add " Ian Rogers
2026-04-25 22:40               ` [PATCH v7 08/59] perf evsel/evlist: Avoid unnecessary #includes Ian Rogers
2026-04-25 22:40               ` [PATCH v7 09/59] perf data: Add open flag Ian Rogers
2026-04-25 22:40               ` [PATCH v7 10/59] perf evlist: Add reference count Ian Rogers
2026-04-25 22:40               ` [PATCH v7 11/59] perf evsel: " Ian Rogers
2026-04-25 22:40               ` [PATCH v7 12/59] perf evlist: Add reference count checking Ian Rogers
2026-04-25 22:40               ` [PATCH v7 13/59] perf python: Use evsel in sample in pyrf_event Ian Rogers
2026-04-25 22:40               ` [PATCH v7 14/59] perf python: Add wrapper for perf_data file abstraction Ian Rogers
2026-04-25 22:40               ` [PATCH v7 15/59] perf python: Add python session abstraction wrapping perf's session Ian Rogers
2026-04-25 22:40               ` [PATCH v7 16/59] perf python: Add syscall name/id to convert syscall number and name Ian Rogers
2026-04-25 22:40               ` [PATCH v7 17/59] perf python: Refactor and add accessors to sample event Ian Rogers
2026-04-25 22:40               ` [PATCH v7 18/59] perf python: Add callchain support Ian Rogers
2026-04-25 22:40               ` [PATCH v7 19/59] perf python: Add config file access Ian Rogers
2026-04-25 22:40               ` [PATCH v7 20/59] perf python: Extend API for stat events in python.c Ian Rogers
2026-04-25 22:40               ` [PATCH v7 21/59] perf python: Expose brstack in sample event Ian Rogers
2026-04-25 22:40               ` [PATCH v7 22/59] perf python: Add perf.pyi stubs file Ian Rogers
2026-04-25 22:40               ` [PATCH v7 23/59] perf python: Add LiveSession helper Ian Rogers
2026-04-25 22:40               ` [PATCH v7 24/59] perf python: Move exported-sql-viewer.py and parallel-perf.py to tools/perf/python/ Ian Rogers
2026-04-25 22:40               ` [PATCH v7 25/59] perf stat-cpi: Port stat-cpi to use python module Ian Rogers
2026-04-25 22:40               ` [PATCH v7 26/59] perf mem-phys-addr: Port mem-phys-addr " Ian Rogers
2026-04-25 22:40               ` [PATCH v7 27/59] perf syscall-counts: Port syscall-counts " Ian Rogers
2026-04-25 22:40               ` [PATCH v7 28/59] perf syscall-counts-by-pid: Port syscall-counts-by-pid " Ian Rogers
2026-04-25 22:40               ` [PATCH v7 29/59] perf futex-contention: Port futex-contention " Ian Rogers
2026-04-25 22:40               ` [PATCH v7 30/59] perf flamegraph: Port flamegraph " Ian Rogers
2026-04-25 22:40               ` [PATCH v7 31/59] perf gecko: Port gecko " Ian Rogers
2026-04-25 22:40               ` [PATCH v7 32/59] perf arm-cs-trace-disasm: Port arm-cs-trace-disasm " Ian Rogers
2026-04-25 22:40               ` [PATCH v7 33/59] perf check-perf-trace: Port check-perf-trace " Ian Rogers
2026-04-25 22:40               ` [PATCH v7 34/59] perf compaction-times: Port compaction-times " Ian Rogers
2026-04-25 22:41               ` [PATCH v7 35/59] perf event_analyzing_sample: Port event_analyzing_sample " Ian Rogers
2026-04-25 22:41               ` [PATCH v7 36/59] perf export-to-sqlite: Port export-to-sqlite " Ian Rogers
2026-04-25 22:41               ` [PATCH v7 37/59] perf export-to-postgresql: Port export-to-postgresql " Ian Rogers
2026-04-25 22:41               ` [PATCH v7 38/59] perf failed-syscalls-by-pid: Port failed-syscalls-by-pid " Ian Rogers
2026-04-25 22:41               ` [PATCH v7 39/59] perf intel-pt-events: Port intel-pt-events/libxed " Ian Rogers
2026-04-25 22:41               ` [PATCH v7 40/59] perf net_dropmonitor: Port net_dropmonitor " Ian Rogers
2026-04-25 22:41               ` [PATCH v7 41/59] perf netdev-times: Port netdev-times " Ian Rogers
2026-04-25 22:41               ` [PATCH v7 42/59] perf powerpc-hcalls: Port powerpc-hcalls " Ian Rogers
2026-04-25 22:44             ` [PATCH v7 43/59] perf sched-migration: Port sched-migration/SchedGui " Ian Rogers
2026-04-25 22:44               ` [PATCH v7 44/59] perf sctop: Port sctop " Ian Rogers
2026-04-25 22:44               ` [PATCH v7 45/59] perf stackcollapse: Port stackcollapse " Ian Rogers
2026-04-25 22:44               ` [PATCH v7 46/59] perf task-analyzer: Port task-analyzer " Ian Rogers
2026-04-25 22:44               ` [PATCH v7 47/59] perf failed-syscalls: Port failed-syscalls " Ian Rogers
2026-04-25 22:44               ` [PATCH v7 48/59] perf rw-by-file: Port rw-by-file " Ian Rogers
2026-04-25 22:44               ` [PATCH v7 49/59] perf rw-by-pid: Port rw-by-pid " Ian Rogers
2026-04-25 22:44               ` [PATCH v7 50/59] perf rwtop: Port rwtop " Ian Rogers
2026-04-25 22:44               ` [PATCH v7 51/59] perf wakeup-latency: Port wakeup-latency " Ian Rogers
2026-04-25 22:44               ` [PATCH v7 52/59] perf test: Migrate Intel PT virtual LBR test to use Python API Ian Rogers
2026-04-25 22:44               ` [PATCH v7 53/59] perf: Remove libperl support, legacy Perl scripts and tests Ian Rogers
2026-04-25 22:44               ` [PATCH v7 54/59] perf: Remove libpython support and legacy Python scripts Ian Rogers
2026-04-25 22:44               ` [PATCH v7 55/59] perf Makefile: Update Python script installation path Ian Rogers
2026-04-25 22:45               ` [PATCH v7 56/59] perf script: Refactor to support standalone scripts and remove legacy features Ian Rogers
2026-04-25 22:45               ` [PATCH v7 57/59] perf Documentation: Update for standalone Python scripts and remove obsolete data Ian Rogers
2026-04-25 22:45               ` [PATCH v7 58/59] perf python: Improve perf script -l descriptions Ian Rogers
2026-04-25 22:45               ` [PATCH v7 59/59] perf sched stats: Fix segmentation faults in diff mode Ian Rogers
2026-04-25 22:48             ` [PATCH v7 00/59] perf: Reorganize scripting support Ian Rogers
2026-04-25 22:48               ` [PATCH v7 01/59] perf inject: Fix itrace branch stack synthesis Ian Rogers
2026-04-25 23:29                 ` sashiko-bot
2026-04-25 22:48               ` [PATCH v7 02/59] perf arch arm: Sort includes and add missed explicit dependencies Ian Rogers
2026-04-25 23:05                 ` sashiko-bot
2026-04-25 22:48               ` [PATCH v7 03/59] perf arch x86: " Ian Rogers
2026-04-25 22:48               ` [PATCH v7 04/59] perf tests: " Ian Rogers
2026-04-25 22:48               ` [PATCH v7 05/59] perf script: " Ian Rogers
2026-04-25 22:48               ` [PATCH v7 06/59] perf util: " Ian Rogers
2026-04-25 22:48               ` [PATCH v7 07/59] perf python: Add " Ian Rogers
2026-04-25 22:49               ` [PATCH v7 08/59] perf evsel/evlist: Avoid unnecessary #includes Ian Rogers
2026-04-25 22:49               ` [PATCH v7 09/59] perf data: Add open flag Ian Rogers
2026-04-25 23:14                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 10/59] perf evlist: Add reference count Ian Rogers
2026-04-25 23:17                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 11/59] perf evsel: " Ian Rogers
2026-04-25 23:18                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 12/59] perf evlist: Add reference count checking Ian Rogers
2026-04-25 23:28                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 13/59] perf python: Use evsel in sample in pyrf_event Ian Rogers
2026-04-25 23:22                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 14/59] perf python: Add wrapper for perf_data file abstraction Ian Rogers
2026-04-25 23:22                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 15/59] perf python: Add python session abstraction wrapping perf's session Ian Rogers
2026-04-25 23:29                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 16/59] perf python: Add syscall name/id to convert syscall number and name Ian Rogers
2026-04-25 23:15                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 17/59] perf python: Refactor and add accessors to sample event Ian Rogers
2026-04-25 23:33                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 18/59] perf python: Add callchain support Ian Rogers
2026-04-25 23:16                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 19/59] perf python: Add config file access Ian Rogers
2026-04-25 22:49               ` [PATCH v7 20/59] perf python: Extend API for stat events in python.c Ian Rogers
2026-04-25 23:15                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 21/59] perf python: Expose brstack in sample event Ian Rogers
2026-04-25 23:13                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 22/59] perf python: Add perf.pyi stubs file Ian Rogers
2026-04-25 23:06                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 23/59] perf python: Add LiveSession helper Ian Rogers
2026-04-25 23:25                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 24/59] perf python: Move exported-sql-viewer.py and parallel-perf.py to tools/perf/python/ Ian Rogers
2026-04-25 23:11                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 25/59] perf stat-cpi: Port stat-cpi to use python module Ian Rogers
2026-04-25 22:49               ` [PATCH v7 26/59] perf mem-phys-addr: Port mem-phys-addr " Ian Rogers
2026-04-25 23:06                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 27/59] perf syscall-counts: Port syscall-counts " Ian Rogers
2026-04-25 23:09                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 28/59] perf syscall-counts-by-pid: Port syscall-counts-by-pid " Ian Rogers
2026-04-25 23:05                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 29/59] perf futex-contention: Port futex-contention " Ian Rogers
2026-04-25 23:11                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 30/59] perf flamegraph: Port flamegraph " Ian Rogers
2026-04-25 23:09                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 31/59] perf gecko: Port gecko " Ian Rogers
2026-04-25 23:06                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 32/59] perf arm-cs-trace-disasm: Port arm-cs-trace-disasm " Ian Rogers
2026-04-25 23:25                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 33/59] perf check-perf-trace: Port check-perf-trace " Ian Rogers
2026-04-25 23:06                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 34/59] perf compaction-times: Port compaction-times " Ian Rogers
2026-04-25 23:22                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 35/59] perf event_analyzing_sample: Port event_analyzing_sample " Ian Rogers
2026-04-25 22:49               ` [PATCH v7 36/59] perf export-to-sqlite: Port export-to-sqlite " Ian Rogers
2026-04-25 23:14                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 37/59] perf export-to-postgresql: Port export-to-postgresql " Ian Rogers
2026-04-25 23:13                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 38/59] perf failed-syscalls-by-pid: Port failed-syscalls-by-pid " Ian Rogers
2026-04-25 23:06                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 39/59] perf intel-pt-events: Port intel-pt-events/libxed " Ian Rogers
2026-04-25 23:13                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 40/59] perf net_dropmonitor: Port net_dropmonitor " Ian Rogers
2026-04-25 23:00                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 41/59] perf netdev-times: Port netdev-times " Ian Rogers
2026-04-25 23:07                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 42/59] perf powerpc-hcalls: Port powerpc-hcalls " Ian Rogers
2026-04-25 23:07                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 43/59] perf sched-migration: Port sched-migration/SchedGui " Ian Rogers
2026-04-25 23:12                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 44/59] perf sctop: Port sctop " Ian Rogers
2026-04-25 23:12                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 45/59] perf stackcollapse: Port stackcollapse " Ian Rogers
2026-04-25 23:09                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 46/59] perf task-analyzer: Port task-analyzer " Ian Rogers
2026-04-25 23:11                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 47/59] perf failed-syscalls: Port failed-syscalls " Ian Rogers
2026-04-25 23:11                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 48/59] perf rw-by-file: Port rw-by-file " Ian Rogers
2026-04-25 23:09                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 49/59] perf rw-by-pid: Port rw-by-pid " Ian Rogers
2026-04-25 23:05                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 50/59] perf rwtop: Port rwtop " Ian Rogers
2026-04-25 23:06                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 51/59] perf wakeup-latency: Port wakeup-latency " Ian Rogers
2026-04-25 23:12                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 52/59] perf test: Migrate Intel PT virtual LBR test to use Python API Ian Rogers
2026-04-25 23:14                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 53/59] perf: Remove libperl support, legacy Perl scripts and tests Ian Rogers
2026-04-25 23:16                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 54/59] perf: Remove libpython support and legacy Python scripts Ian Rogers
2026-04-25 22:49               ` [PATCH v7 55/59] perf Makefile: Update Python script installation path Ian Rogers
2026-04-25 23:22                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 56/59] perf script: Refactor to support standalone scripts and remove legacy features Ian Rogers
2026-04-25 23:23                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 57/59] perf Documentation: Update for standalone Python scripts and remove obsolete data Ian Rogers
2026-04-25 23:18                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 58/59] perf python: Improve perf script -l descriptions Ian Rogers
2026-04-25 23:15                 ` sashiko-bot
2026-04-25 22:49               ` [PATCH v7 59/59] perf sched stats: Fix segmentation faults in diff mode Ian Rogers
2026-04-25 23:31                 ` sashiko-bot
2026-04-23 19:43       ` [PATCH v4 28/58] perf syscall-counts-by-pid: Port syscall-counts-by-pid to use python module Ian Rogers
2026-04-23 19:43         ` [PATCH v4 29/58] perf futex-contention: Port futex-contention " Ian Rogers
2026-04-23 19:43         ` [PATCH v4 30/58] perf flamegraph: Port flamegraph " Ian Rogers
2026-04-19 23:58 ` [PATCH v1 27/58] perf syscall-counts: Port syscall-counts " Ian Rogers
2026-04-20  0:41   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 28/58] perf syscall-counts-by-pid: Port syscall-counts-by-pid " Ian Rogers
2026-04-20  0:34   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 29/58] perf futex-contention: Port futex-contention " Ian Rogers
2026-04-20  0:37   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 30/58] perf flamegraph: Port flamegraph " Ian Rogers
2026-04-20  0:27   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 31/58] perf gecko: Port gecko " Ian Rogers
2026-04-20  0:20   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 32/58] perf arm-cs-trace-disasm: Port arm-cs-trace-disasm " Ian Rogers
2026-04-20  0:28   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 33/58] perf check-perf-trace: Port check-perf-trace " Ian Rogers
2026-04-20  0:31   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 34/58] perf compaction-times: Port compaction-times " Ian Rogers
2026-04-20  0:30   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 35/58] perf event_analyzing_sample: Port event_analyzing_sample " Ian Rogers
2026-04-20  0:35   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 36/58] perf export-to-sqlite: Port export-to-sqlite " Ian Rogers
2026-04-20  0:33   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 37/58] perf export-to-postgresql: Port export-to-postgresql " Ian Rogers
2026-04-20  0:28   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 38/58] perf failed-syscalls-by-pid: Port failed-syscalls-by-pid " Ian Rogers
2026-04-20  0:32   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 39/58] perf intel-pt-events: Port intel-pt-events/libxed " Ian Rogers
2026-04-20  0:32   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 40/58] perf net_dropmonitor: Port net_dropmonitor " Ian Rogers
2026-04-20  0:22   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 41/58] perf netdev-times: Port netdev-times " Ian Rogers
2026-04-20  0:28   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 42/58] perf powerpc-hcalls: Port powerpc-hcalls " Ian Rogers
2026-04-19 23:58 ` [PATCH v1 43/58] perf sched-migration: Port sched-migration/SchedGui " Ian Rogers
2026-04-20  0:33   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 44/58] perf sctop: Port sctop " Ian Rogers
2026-04-20  0:33   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 45/58] perf stackcollapse: Port stackcollapse " Ian Rogers
2026-04-20  0:41   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 46/58] perf task-analyzer: Port task-analyzer " Ian Rogers
2026-04-20  0:46   ` sashiko-bot
2026-04-19 23:58 ` [PATCH v1 47/58] perf failed-syscalls: Port failed-syscalls " Ian Rogers
2026-04-20  0:45   ` sashiko-bot
2026-04-19 23:59 ` [PATCH v1 48/58] perf rw-by-file: Port rw-by-file " Ian Rogers
2026-04-20  0:50   ` sashiko-bot
2026-04-19 23:59 ` [PATCH v1 49/58] perf rw-by-pid: Port rw-by-pid " Ian Rogers
2026-04-20  0:44   ` sashiko-bot
2026-04-19 23:59 ` [PATCH v1 50/58] perf rwtop: Port rwtop " Ian Rogers
2026-04-20  0:42   ` sashiko-bot
2026-04-19 23:59 ` [PATCH v1 51/58] perf wakeup-latency: Port wakeup-latency " Ian Rogers
2026-04-20  0:47   ` sashiko-bot
2026-04-19 23:59 ` [PATCH v1 52/58] perf test: Migrate Intel PT virtual LBR test to use Python API Ian Rogers
2026-04-20  0:46   ` sashiko-bot
2026-04-19 23:59 ` [PATCH v1 53/58] perf: Remove libperl support, legacy Perl scripts and tests Ian Rogers
2026-04-20  0:55   ` sashiko-bot
2026-04-19 23:59 ` [PATCH v1 54/58] perf: Remove libpython support and legacy Python scripts Ian Rogers
2026-04-19 23:59 ` [PATCH v1 55/58] perf Makefile: Update Python script installation path Ian Rogers
2026-04-20  0:54   ` sashiko-bot
2026-04-19 23:59 ` [PATCH v1 56/58] perf script: Refactor to support standalone scripts and remove legacy features Ian Rogers
2026-04-20  1:00   ` sashiko-bot
2026-04-19 23:59 ` [PATCH v1 57/58] perf Documentation: Update for standalone Python scripts and remove obsolete data Ian Rogers
2026-04-20  0:45   ` sashiko-bot
2026-04-19 23:59 ` [PATCH v1 58/58] perf python: Improve perf script -l descriptions Ian Rogers

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=20260425224125.160890-2-irogers@google.com \
    --to=irogers@google.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alice.mei.rogers@gmail.com \
    --cc=dapeng1.mi@linux.intel.com \
    --cc=james.clark@linaro.org \
    --cc=leo.yan@linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tmricht@linux.ibm.com \
    /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