summaryrefslogtreecommitdiffstats
path: root/include/linux/perf_counter.h
diff options
context:
space:
mode:
authorPeter Zijlstra2009-04-06 11:45:09 +0200
committerIngo Molnar2009-04-07 10:48:59 +0200
commit4c9e25428ff46b968a30f1dfafdba550cb6e4141 (patch)
tree273e74f4f99dc626ddb960f0cbbe9b64d47bbfe9 /include/linux/perf_counter.h
parentperf_counter: comment the perf_event_type stuff (diff)
downloadkernel-qcow2-linux-4c9e25428ff46b968a30f1dfafdba550cb6e4141.tar.gz
kernel-qcow2-linux-4c9e25428ff46b968a30f1dfafdba550cb6e4141.tar.xz
kernel-qcow2-linux-4c9e25428ff46b968a30f1dfafdba550cb6e4141.zip
perf_counter: change event definition
Currently the definition of an event is slightly ambiguous. We have wakeup events, for poll() and SIGIO, which are either generated when a record crosses a page boundary (hw_events.wakeup_events == 0), or every wakeup_events new records. Now a record can be either a counter overflow record, or a number of different things, like the mmap PROT_EXEC region notifications. Then there is the PERF_COUNTER_IOC_REFRESH event limit, which only considers counter overflows. This patch changes then wakeup_events and SIGIO notification to only consider overflow events. Furthermore it changes the SIGIO notification to report SIGHUP when the event limit is reached and the counter will be disabled. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com> LKML-Reference: <20090406094518.266679874@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/perf_counter.h')
-rw-r--r--include/linux/perf_counter.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/perf_counter.h b/include/linux/perf_counter.h
index 81220188d058..0f5a4005048f 100644
--- a/include/linux/perf_counter.h
+++ b/include/linux/perf_counter.h
@@ -439,6 +439,7 @@ struct perf_counter {
/* delayed work for NMIs and such */
int pending_wakeup;
+ int pending_kill;
int pending_disable;
struct perf_pending_entry pending;