Not "static DEFINE_PER_CPU(struct rcu_data, rcu_data)"?
> +/* Fake initialization to work around compiler breakage */
> +DEFINE_PER_CPU(long, cpu_quiescent) = 0L;
static? And I assume you're talking about the tendency for gcc 2.95
to put uninitialized static vars in the bss, even if they are marked
as having a section attribute? If so, you should say so.
> +#ifdef CONFIG_PREEMPT
> +/* Fake initialization to work around compiler breakage */
> +DEFINE_PER_CPU(atomic_t[2], rcu_preempt_cntr) =
> + {ATOMIC_INIT(0), ATOMIC_INIT(0)};
> +DEFINE_PER_CPU(atomic_t, *curr_preempt_cntr) = NULL;
> +DEFINE_PER_CPU(atomic_t, *next_preempt_cntr) = NULL;
Also static I assume?
Other than that, it looks good. You should probably cc: Ingo Molnar
as it touches the scheduler...
Rusty.
-- Anyone who quotes me in their sig is an idiot. -- Rusty Russell. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/