aboutsummaryrefslogtreecommitdiff
path: root/drivers/oprofile/cpu_buffer.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-06-07 12:22:15 +0200
committerIngo Molnar <mingo@elte.hu>2009-06-07 12:22:15 +0200
commit5f4457a4f62cc9d78e04c0eb12ff0540899aad89 (patch)
tree0b973d527ea6b2ae31e08da0746b4965a3c5a6d8 /drivers/oprofile/cpu_buffer.c
parent9b94b3a19b13e094c10f65f24bc358f6ffe4eacd (diff)
parentb87297fb405ef13cac375f202d114323b076a56d (diff)
Merge branch 'linus' into x86/cpu
Diffstat (limited to 'drivers/oprofile/cpu_buffer.c')
-rw-r--r--drivers/oprofile/cpu_buffer.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/oprofile/cpu_buffer.c b/drivers/oprofile/cpu_buffer.c
index f0e99d4c066..242257b1944 100644
--- a/drivers/oprofile/cpu_buffer.c
+++ b/drivers/oprofile/cpu_buffer.c
@@ -78,16 +78,20 @@ void free_cpu_buffers(void)
op_ring_buffer_write = NULL;
}
+#define RB_EVENT_HDR_SIZE 4
+
int alloc_cpu_buffers(void)
{
int i;
unsigned long buffer_size = oprofile_cpu_buffer_size;
+ unsigned long byte_size = buffer_size * (sizeof(struct op_sample) +
+ RB_EVENT_HDR_SIZE);
- op_ring_buffer_read = ring_buffer_alloc(buffer_size, OP_BUFFER_FLAGS);
+ op_ring_buffer_read = ring_buffer_alloc(byte_size, OP_BUFFER_FLAGS);
if (!op_ring_buffer_read)
goto fail;
- op_ring_buffer_write = ring_buffer_alloc(buffer_size, OP_BUFFER_FLAGS);
+ op_ring_buffer_write = ring_buffer_alloc(byte_size, OP_BUFFER_FLAGS);
if (!op_ring_buffer_write)
goto fail;