aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2024-07-29 10:28:33 +0000
committerAndrew Turner <andrew@FreeBSD.org>2024-09-02 09:11:57 +0000
commit351c7a18d429cc179238cf3ae65e98f95ec5b12f (patch)
treedeb6e2452954d719f9575b3e06cded1faf84c2d8
parent0f85e71ab5636fd32482e3241cfce57015c99436 (diff)
buf_ring: Consistently use atomic_*_32
We are operating on uint32_t values, use uint32_t atomic functions. Reviewed by: alc, imp, kib, markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D46150 (cherry picked from commit 17a597bc13aa59ee90facaf9b8dada80f32eb52d)
-rw-r--r--sys/sys/buf_ring.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/sys/buf_ring.h b/sys/sys/buf_ring.h
index 77a8e5ec65b8..39c75dd5b09f 100644
--- a/sys/sys/buf_ring.h
+++ b/sys/sys/buf_ring.h
@@ -94,7 +94,7 @@ buf_ring_enqueue(struct buf_ring *br, void *buf)
}
continue;
}
- } while (!atomic_cmpset_acq_int(&br->br_prod_head, prod_head, prod_next));
+ } while (!atomic_cmpset_acq_32(&br->br_prod_head, prod_head, prod_next));
#ifdef DEBUG_BUFRING
if (br->br_ring[prod_head] != NULL)
panic("dangling value in enqueue");
@@ -108,7 +108,7 @@ buf_ring_enqueue(struct buf_ring *br, void *buf)
*/
while (br->br_prod_tail != prod_head)
cpu_spinwait();
- atomic_store_rel_int(&br->br_prod_tail, prod_next);
+ atomic_store_rel_32(&br->br_prod_tail, prod_next);
critical_exit();
return (0);
}
@@ -132,7 +132,7 @@ buf_ring_dequeue_mc(struct buf_ring *br)
critical_exit();
return (NULL);
}
- } while (!atomic_cmpset_acq_int(&br->br_cons_head, cons_head, cons_next));
+ } while (!atomic_cmpset_acq_32(&br->br_cons_head, cons_head, cons_next));
buf = br->br_ring[cons_head];
#ifdef DEBUG_BUFRING
@@ -146,7 +146,7 @@ buf_ring_dequeue_mc(struct buf_ring *br)
while (br->br_cons_tail != cons_head)
cpu_spinwait();
- atomic_store_rel_int(&br->br_cons_tail, cons_next);
+ atomic_store_rel_32(&br->br_cons_tail, cons_next);
critical_exit();
return (buf);