aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2009-06-02 10:16:02 -0400
committerIngo Molnar <mingo@elte.hu>2009-06-02 15:45:32 -0400
commit8e3747c13c39246c7e46def7cf495d9d21d4c5f9 (patch)
tree6a57736dd784947dbd40b75674effcb63e6696a1 /include
parente4abb5d4f7ddabc1fc7c392cf0a10d8e5868c9ca (diff)
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')
-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 {
212 * User-space reading this value should issue an rmb(), on SMP capable 212 * User-space reading this value should issue an rmb(), on SMP capable
213 * platforms, after reading this value -- see perf_counter_wakeup(). 213 * platforms, after reading this value -- see perf_counter_wakeup().
214 */ 214 */
215 __u32 data_head; /* head in the data section */ 215 __u64 data_head; /* head in the data section */
216}; 216};
217 217
218#define PERF_EVENT_MISC_CPUMODE_MASK (3 << 0) 218#define PERF_EVENT_MISC_CPUMODE_MASK (3 << 0)
@@ -397,10 +397,11 @@ struct perf_mmap_data {
397 int nr_locked; /* nr pages mlocked */ 397 int nr_locked; /* nr pages mlocked */
398 398
399 atomic_t poll; /* POLL_ for wakeups */ 399 atomic_t poll; /* POLL_ for wakeups */
400 atomic_t head; /* write position */
401 atomic_t events; /* event limit */ 400 atomic_t events; /* event limit */
402 401
403 atomic_t done_head; /* completed head */ 402 atomic_long_t head; /* write position */
403 atomic_long_t done_head; /* completed head */
404
404 atomic_t lock; /* concurrent writes */ 405 atomic_t lock; /* concurrent writes */
405 406
406 atomic_t wakeup; /* needs a wakeup */ 407 atomic_t wakeup; /* needs a wakeup */