aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorThomas Gschwantner <tharre3@gmail.com>2018-06-17 23:19:42 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2018-06-18 15:08:56 +0200
commitc476695fb2bc37c867e0fde9d50d12f4f43976af (patch)
treee6449a3de9ebb04da5754fce33c13f0e365810f9
parentselftest/mpmc_ring: use rwsem instead of multiple completions (diff)
downloadwireguard-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.h4
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();