Message ID | 1518779173-30812-1-git-send-email-parri.andrea@gmail.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | ptr_ring: Remove now-redundant smp_read_barrier_depends() | expand |
From: Andrea Parri <parri.andrea@gmail.com> Date: Fri, 16 Feb 2018 12:06:13 +0100 > Because READ_ONCE() now implies smp_read_barrier_depends(), the > smp_read_barrier_depends() in __ptr_ring_consume() is redundant; > this commit removes it and updates the comments. > > Signed-off-by: Andrea Parri <parri.andrea@gmail.com> Ok, if READ_ONCE() does a barrier now, this change makes sense. Applied to net-next, thank you.
diff --git a/include/linux/ptr_ring.h b/include/linux/ptr_ring.h index b884b7794187e..ddfed1dce9369 100644 --- a/include/linux/ptr_ring.h +++ b/include/linux/ptr_ring.h @@ -296,13 +296,14 @@ static inline void *__ptr_ring_consume(struct ptr_ring *r) { void *ptr; + /* The READ_ONCE in __ptr_ring_peek guarantees that anyone + * accessing data through the pointer is up to date. Pairs + * with smp_wmb in __ptr_ring_produce. + */ ptr = __ptr_ring_peek(r); if (ptr) __ptr_ring_discard_one(r); - /* Make sure anyone accessing data through the pointer is up to date. */ - /* Pairs with smp_wmb in __ptr_ring_produce. */ - smp_read_barrier_depends(); return ptr; }
Because READ_ONCE() now implies smp_read_barrier_depends(), the smp_read_barrier_depends() in __ptr_ring_consume() is redundant; this commit removes it and updates the comments. Signed-off-by: Andrea Parri <parri.andrea@gmail.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: "Michael S. Tsirkin" <mst@redhat.com> Cc: Jason Wang <jasowang@redhat.com> Cc: John Fastabend <john.fastabend@gmail.com> Cc: Eric Dumazet <edumazet@google.com> Cc: <linux-kernel@vger.kernel.org> Cc: <netdev@vger.kernel.org> --- include/linux/ptr_ring.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)