summaryrefslogtreecommitdiff
path: root/include/linux/perf_event.h
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2009-11-20 22:19:43 +0100
committerIngo Molnar <mingo@elte.hu>2009-11-21 14:11:35 +0100
commit453f19eea7dbad837425e9b07d84568d14898794 (patch)
tree3b1d757a72512b5ab566649b9eda59e032734993 /include/linux/perf_event.h
parentef6ae724253429ac70d81e65d052f6a346d330bd (diff)
downloadlwn-453f19eea7dbad837425e9b07d84568d14898794.tar.gz
lwn-453f19eea7dbad837425e9b07d84568d14898794.zip
perf: Allow for custom overflow handlers
in-kernel perf users might wish to have custom actions on the sample interrupt. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> LKML-Reference: <20091120212508.222339539@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/perf_event.h')
-rw-r--r--include/linux/perf_event.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index b5cdac0de370..a430ac3074af 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -567,6 +567,8 @@ struct perf_pending_entry {
typedef void (*perf_callback_t)(struct perf_event *, void *);
+struct perf_sample_data;
+
/**
* struct perf_event - performance event kernel representation:
*/
@@ -658,6 +660,10 @@ struct perf_event {
struct pid_namespace *ns;
u64 id;
+ void (*overflow_handler)(struct perf_event *event,
+ int nmi, struct perf_sample_data *data,
+ struct pt_regs *regs);
+
#ifdef CONFIG_EVENT_PROFILE
struct event_filter *filter;
#endif