diff options
author | Thomas Gschwantner <tharre3@gmail.com> | 2018-06-17 23:19:42 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-06-18 15:08:56 +0200 |
commit | c476695fb2bc37c867e0fde9d50d12f4f43976af (patch) | |
tree | e6449a3de9ebb04da5754fce33c13f0e365810f9 | |
parent | selftest/mpmc_ring: use rwsem instead of multiple completions (diff) | |
download | wireguard-monolithic-historical-c476695fb2bc37c867e0fde9d50d12f4f43976af.tar.xz wireguard-monolithic-historical-c476695fb2bc37c867e0fde9d50d12f4f43976af.zip |
mpmc_ptr_ring: move atomic_read outside loop
-rw-r--r-- | src/mpmc_ptr_ring.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mpmc_ptr_ring.h b/src/mpmc_ptr_ring.h index d8310e7..6010436 100644 --- a/src/mpmc_ptr_ring.h +++ b/src/mpmc_ptr_ring.h @@ -133,9 +133,9 @@ static inline void *mpmc_ptr_ring_consume(struct mpmc_ptr_ring *r) unsigned int mask = r->mask; void *element; - for (;;) { - c = atomic_read(&r->consumer_head); + c = atomic_read(&r->consumer_head); + for (;;) { /* Fetch consumer_head first. */ smp_rmb(); |