diff options
author | Steven Rostedt <rostedt@goodmis.org> | 2008-10-02 19:18:09 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-14 10:39:15 +0200 |
commit | aa1e0e3bcf95ce684d005bedb16e5d4559455685 (patch) | |
tree | 579416746452a880ca42de6c2885419e49a44e45 /kernel | |
parent | eb7fa935274bb233686fdf7a53f40c5d9ee76ed6 (diff) | |
download | linux-aa1e0e3bcf95ce684d005bedb16e5d4559455685.tar.gz linux-aa1e0e3bcf95ce684d005bedb16e5d4559455685.tar.bz2 linux-aa1e0e3bcf95ce684d005bedb16e5d4559455685.zip |
ring_buffer: map to cpu not page
My original patch had a compile bug when NUMA was configured. I
referenced cpu when it should have been cpu_buffer->cpu.
Ingo quickly fixed this bug by replacing cpu with 'i' because that
was the loop counter. Unfortunately, the 'i' was the counter of
pages, not CPUs. This caused a crash when the number of pages allocated
for the buffers exceeded the number of pages, which would usually
be the case.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/trace/ring_buffer.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index 54a30986493a..6b8dac02364f 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -232,7 +232,7 @@ static int rb_allocate_pages(struct ring_buffer_per_cpu *cpu_buffer, for (i = 0; i < nr_pages; i++) { page = kzalloc_node(ALIGN(sizeof(*page), cache_line_size()), - GFP_KERNEL, cpu_to_node(i)); + GFP_KERNEL, cpu_to_node(cpu_buffer->cpu)); if (!page) goto free_pages; list_add(&page->list, &pages); |