Messages in this thread | | | Date | Mon, 17 Mar 2008 21:30:47 +0300 | From | Oleg Nesterov <> | Subject | Re: [PATCH] fix misplaced mb() in rcu_enter/exit_nohz() |
| |
On 03/16, Paul E. McKenney wrote: > > In the process of writing up the mechanical proof of correctness for the > dynticks/preemptable-RCU interface, I noticed misplaced memory barriers > in rcu_enter_nohz() and rcu_exit_nohz().
Can't comment this patch, there is no rcu_enter_nohz() in my rcupreempt.h ;)
I'm not sure the code below is up to date, but what I have in arch/s390/kernel/time.c is:
stop_hz_timer:
cpu_set(cpu, nohz_cpu_mask);
if (rcu_needs_cpu(cpu) || local_softirq_pending()) { cpu_clear(cpu, nohz_cpu_mask); return; }
Don't we need smp_mb() after cpu_set() ?
Oleg.
| |