summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds2009-05-26 23:48:03 +0200
committerLinus Torvalds2009-05-26 23:48:03 +0200
commit299297c63686948aab5af1534629a0a740af6688 (patch)
tree3b149f6bc23b85914112d9dca9d81cb19ea41a3c
parentMerge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 (diff)
parentoprofile: fix cpu buffer size (diff)
downloadkernel-qcow2-linux-299297c63686948aab5af1534629a0a740af6688.tar.gz
kernel-qcow2-linux-299297c63686948aab5af1534629a0a740af6688.tar.xz
kernel-qcow2-linux-299297c63686948aab5af1534629a0a740af6688.zip
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: oprofile: fix cpu buffer size
-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 f0e99d4c066b..242257b19441 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;