Re: [PATCH 1/2] perf/core: Return errors from perf_report_aux_output_id()

From: James Clark

Date: Wed Oct 28 2026 - 05:41:49 EST




On 05/10/2026 16:46, Suzuki K Poulose wrote:
Hi Peter, Arnaldo, Mark, Ingo et al



On 01/10/2026 15:21, James Clark wrote:
It's useful to know if this failed or not so a retry can be attempted
later. Return the error code or success.

Signed-off-by: James Clark <james.clark@xxxxxxxxxx>
---
  include/linux/perf_event.h | 2 +-
  kernel/events/core.c       | 6 ++++--
  2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 48d851fbd8ea..01d318a4de50 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -1896,7 +1896,7 @@ static inline struct fasync_struct **perf_event_fasync(struct perf_event *event)
  }
  extern void perf_event_addr_filters_sync(struct perf_event *event);
-extern void perf_report_aux_output_id(struct perf_event *event, u64 hw_id);
+extern int perf_report_aux_output_id(struct perf_event *event, u64 hw_id);

This looks a trivial change with minor impact. Are you happy for me to
pull this via the coresight tree ? Please could I have an Ack on this ?


Cheers
Suzuki

Gentle ping, thanks.

  extern int perf_output_begin(struct perf_output_handle *handle,
                   struct perf_sample_data *data,
diff --git a/kernel/events/core.c b/kernel/events/core.c
index d7f3e2c2ecb1..232da3b6f393 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -10563,7 +10563,7 @@ static void perf_log_itrace_start(struct perf_event *event)
      perf_output_end(&handle);
  }
-void perf_report_aux_output_id(struct perf_event *event, u64 hw_id)
+int perf_report_aux_output_id(struct perf_event *event, u64 hw_id)
  {
      struct perf_output_handle handle;
      struct perf_sample_data sample;
@@ -10585,12 +10585,14 @@ void perf_report_aux_output_id(struct perf_event *event, u64 hw_id)
      ret = perf_output_begin(&handle, &sample, event, rec.header.size);
      if (ret)
-        return;
+        return ret;
      perf_output_put(&handle, rec);
      perf_event__output_id_sample(event, &handle, &sample);
      perf_output_end(&handle);
+
+    return 0;
  }
  EXPORT_SYMBOL_GPL(perf_report_aux_output_id);