Re: [RFC][PATCH] rcu: Use WRITE_ONCE in RCU_INIT_POINTER

From: Paul E. McKenney
Date: Tue Jun 02 2015 - 12:25:58 EST


On Tue, Jun 02, 2015 at 05:26:48PM +0200, Peter Zijlstra wrote:
>
> For the paranoid amongst us GCC would be in its right to use byte stores
> to write our NULL value, tell it not to do that.
>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>

Good point, queued for 4.3.

Thanx, Paul

> ---
> include/linux/rcupdate.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
> index 33a056bb886f..e173847b6543 100644
> --- a/include/linux/rcupdate.h
> +++ b/include/linux/rcupdate.h
> @@ -1046,7 +1046,7 @@ static inline notrace void rcu_read_unlock_sched_notrace(void)
> #define RCU_INIT_POINTER(p, v) \
> do { \
> rcu_dereference_sparse(p, __rcu); \
> - p = RCU_INITIALIZER(v); \
> + WRITE_ONCE(p, RCU_INITIALIZER(v)); \
> } while (0)
>
> /**
>

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