The perf_event overflow handler does not receive any caller-derived
argument, so many callers need to resort to looking up the perf_event
in their local data structure. This is ugly and doesn't scale if a
single callback services many perf_events.
Fix by adding a context parameter to perf_event_create_kernel_counter()
(and derived hardware breakpoints APIs) and storing it in the perf_event.
The field can be accessed from the callback as event->overflow_handler_context.
All callers are updated.
Signed-off-by: Avi Kivity <firstname.lastname@example.org>
Signed-off-by: Peter Zijlstra <email@example.com>
Link: http://firstname.lastname@example.orgSigned-off-by: Ingo Molnar <email@example.com>