aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorThomas Gschwantner <tharre3@gmail.com>2018-06-17 23:19:42 +0200
committerThomas Gschwantner <tharre3@gmail.com>2018-06-17 23:19:42 +0200
commit5e6ee47d445126aaed49d310ef19fe2ceb9413b9 (patch)
tree24c903013389669a37c1f50a2547a7e70a38e8e2
parentselftest/mpmc_ring: use rwsem instead of multiple completions (diff)
downloadwireguard-monolithic-historical-5e6ee47d445126aaed49d310ef19fe2ceb9413b9.tar.xz
wireguard-monolithic-historical-5e6ee47d445126aaed49d310ef19fe2ceb9413b9.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();