aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/perf_counter.h
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2009-06-02 16:16:02 +0200
committerIngo Molnar <mingo@elte.hu>2009-06-02 21:45:32 +0200
commit8e3747c13c39246c7e46def7cf495d9d21d4c5f9 (patch)
tree6a57736dd784947dbd40b75674effcb63e6696a1 /include/linux/perf_counter.h
parentperf_counter: x86: Emulate longer sample periods (diff)
downloadlinux-dev-8e3747c13c39246c7e46def7cf495d9d21d4c5f9.tar.xz
linux-dev-8e3747c13c39246c7e46def7cf495d9d21d4c5f9.zip
perf_counter: Change data head from u32 to u64
Since some people worried that 4G might not be a large enough as an mmap data window, extend it to 64 bit for capable platforms. Reported-by: Stephane Eranian <eranian@googlemail.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/perf_counter.h')
-rw-r--r--include/linux/perf_counter.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/include/linux/perf_counter.h b/include/linux/perf_counter.h
index cef9931793fd..c046f7d97cfa 100644
--- a/include/linux/perf_counter.h
+++ b/include/linux/perf_counter.h
@@ -212,7 +212,7 @@ struct perf_counter_mmap_page {
* User-space reading this value should issue an rmb(), on SMP capable
* platforms, after reading this value -- see perf_counter_wakeup().
*/
- __u32 data_head; /* head in the data section */
+ __u64 data_head; /* head in the data section */
};
#define PERF_EVENT_MISC_CPUMODE_MASK (3 << 0)
@@ -397,10 +397,11 @@ struct perf_mmap_data {
int nr_locked; /* nr pages mlocked */
atomic_t poll; /* POLL_ for wakeups */
- atomic_t head; /* write position */
atomic_t events; /* event limit */
- atomic_t done_head; /* completed head */
+ atomic_long_t head; /* write position */
+ atomic_long_t done_head; /* completed head */
+
atomic_t lock; /* concurrent writes */
atomic_t wakeup; /* needs a wakeup */