On Tue, 05 Feb 2008 21:44:07 +0100
Eric Dumazet <dada1@xxxxxxxxxxxxx> wrote:
Pekka Paalanen a écrit :diff --git a/arch/x86/kernel/mmiotrace/mmio-mod.c b/arch/x86/kernel/mmiotrace/mmio-mod.cPlease dont introduce NR_CPUS new arrays, since people are working hard to zap them from kernel.
index 82ae920..f492b65 100644
--- a/arch/x86/kernel/mmiotrace/mmio-mod.c
+++ b/arch/x86/kernel/mmiotrace/mmio-mod.c
@@ -47,9 +48,13 @@ struct trap_reason {
int active_traces;
};
+/* Accessed per-cpu. */
static struct trap_reason pf_reason[NR_CPUS];
static struct mm_io_header_rw cpu_trace[NR_CPUS];
+/* Access to this is not per-cpu. */
+static atomic_t dropped[NR_CPUS];
+
You probably can use a per_cpu variable ?
Yes, it would probably be more appropriate to use DEFINE_PER_CPU()
for 'pf_reason' and 'cpu_trace', but I wasn't sure since the examples
of DEFINE_PER_CPU I saw always had integers or pointers, not
whole structs. Is it okay for whole structs?
'dropped' on the other hand is not accessed in per-cpu style, any cpu
may access any element. DEFINE_PER_CPU is not valid here, is it?