Re: [PATCH 0/5] call_rcu_sched() series

From: Andrew Morton
Date: Mon Apr 14 2008 - 21:47:28 EST


On Mon, 14 Apr 2008 18:33:12 -0700 Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Sun, 13 Apr 2008 20:58:48 -0700 "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> wrote:
>
> > This series adds call_rcu_sched(), applies some fixes to RCU Classic,
> > adds rcu_barrier_sched(), updates rcutorture, and updates the RCU
> > documentation.
>
> Some massaging was needed here to make these apply against the
> RCU changes in git-sched.
>
> All fairly simple, except I don't know if these:
>
> static inline void rcu_enter_nohz(void)
> {
> smp_mb(); /* CPUs seeing ++ must see prior RCU read-side crit sects */
> __get_cpu_var(rcu_dyntick_sched).dynticks++;
> WARN_ON(__get_cpu_var(rcu_dyntick_sched).dynticks & 0x1);
> }
>
> static inline void rcu_exit_nohz(void)
> {
> __get_cpu_var(rcu_dyntick_sched).dynticks++;
> smp_mb(); /* CPUs seeing ++ must see later RCU read-side crit sects */
> WARN_ON(!(__get_cpu_var(rcu_dyntick_sched).dynticks & 0x1));
> }
>
> in include/linux/rcupreempt.h ended up the way we want them?

argh, I see. It's all tangled up with the WARN_ON_SECS stuff.

Let me try to straighten it all out.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/