lkml.org 
[lkml]   [2008]   [May]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: oprofile BUG() in current kernel.
Gianni Tedesco a écrit :
>
>
> Nope, exact same bad paging request in kernel mode... probably the bug
> is something deep in oprofile then?
>
Hum... Are you using oprofile as a module or statically included in kernel ?

Current module loader only allocates percpu room by examining
".data.percpu" section and should be augmented to also look at
".data.percpu.shared_aligned"
Or, change DEFINE_PER_CPU_SHARED_ALIGNED() for modules (to use
".data.percpu" only)

Anyway, with the per_cpu conversion of cpu_buffer, we dont need to
request cache_line alignment anymore

[PATCH] oprofile: Dont request cache line alignment for cpu_buffer

Alignment was previously requested because cpu_buffer was an [NR_CPUS]
array, to avoid cache line sharing between CPUS.

After commit 608dfddd845da5ab6accef70154c8910529699f7 (
oprofile: change cpu_buffer from array to per_cpu variable ),
we dont need to force an alignement anymore since cpu_buffer sits in
per_cpu zone.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>


diff --git a/drivers/oprofile/cpu_buffer.c b/drivers/oprofile/cpu_buffer.c
index efcbf4b..2450b3a 100644
--- a/drivers/oprofile/cpu_buffer.c
+++ b/drivers/oprofile/cpu_buffer.c
@@ -27,7 +27,7 @@
#include "buffer_sync.h"
#include "oprof.h"

-DEFINE_PER_CPU_SHARED_ALIGNED(struct oprofile_cpu_buffer, cpu_buffer);
+DEFINE_PER_CPU(struct oprofile_cpu_buffer, cpu_buffer);

static void wq_sync_buffer(struct work_struct *work);

diff --git a/drivers/oprofile/cpu_buffer.h b/drivers/oprofile/cpu_buffer.h
index 1358817..c3e366b 100644
--- a/drivers/oprofile/cpu_buffer.h
+++ b/drivers/oprofile/cpu_buffer.h
@@ -46,7 +46,7 @@ struct oprofile_cpu_buffer {
unsigned long sample_invalid_eip;
int cpu;
struct delayed_work work;
-} ____cacheline_aligned;
+};

DECLARE_PER_CPU(struct oprofile_cpu_buffer, cpu_buffer);
\
 
 \ /
  Last update: 2008-05-13 12:29    [W:0.071 / U:0.488 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site