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.
|  |