Re: [RFC PATCH 08/21] Revert "list: Use WRITE_ONCE() when initializing list_head structures"

From: Paul E. McKenney
Date: Mon Mar 30 2020 - 19:25:07 EST


On Tue, Mar 24, 2020 at 03:36:30PM +0000, Will Deacon wrote:
> This reverts commit 2f073848c3cc8aff2655ab7c46d8c0de90cf4e50.
>
> There is no need to use WRITE_ONCE() to initialise a non-RCU 'list_head'.
>
> Cc: Paul E. McKenney <paulmck@xxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Signed-off-by: Will Deacon <will@xxxxxxxxxx>

And attention to lockless uses of list_empty() here, correct?

Depending on the outcome of discussions on 3/21, I should have added in
all three cases.

Thanx, Paul

> ---
> include/linux/list.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/list.h b/include/linux/list.h
> index c7331c259792..b86a3f9465d4 100644
> --- a/include/linux/list.h
> +++ b/include/linux/list.h
> @@ -32,7 +32,7 @@
> */
> static inline void INIT_LIST_HEAD(struct list_head *list)
> {
> - WRITE_ONCE(list->next, list);
> + list->next = list;
> list->prev = list;
> }
>
> --
> 2.20.1
>