Re: [PATCH] Convert struct pid count to refcount_t

From: Oleg Nesterov
Date: Thu Mar 28 2019 - 12:26:49 EST


On 03/28, Jann Horn wrote:
>
> Since we're just talking about RCU stuff now, adding Paul McKenney to
> the thread.

Since you added Paul let me add more confusion to this thread ;)

There were some concerns about the lack of barriers in put_pid(), but I can't
find that old discussion and I forgot the result of that discussion...

Paul, could you confirm that this code

CPU_0 CPU_1

X = 1; if (READ_ONCE(Y))
mb(); X = 2;
Y = 1; BUG_ON(X != 2);


is correct? I think it is, control dependency pairs with mb(), right?

If not, then put_pid() needs atomic_read_acquire() as it was proposed in that
discussion.

Oleg.