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@linaro.org --- 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);
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 ba5bd6a78fe7..bcdc9e7d2637 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -10565,7 +10565,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; @@ -10587,12 +10587,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);