From 693ce44591fddffbdbf8391fd0dbe8ec51cebfa0 Mon Sep 17 00:00:00 2001 From: Jonathan Neuschäfer Date: Tue, 29 May 2018 17:13:05 +0200 Subject: mpmc_ptr_ring: Eliminate false sharing in struct mpmc_ptr_ring --- src/mpmc_ptr_ring.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/mpmc_ptr_ring.h') diff --git a/src/mpmc_ptr_ring.h b/src/mpmc_ptr_ring.h index d628ea0..2f5c4c8 100644 --- a/src/mpmc_ptr_ring.h +++ b/src/mpmc_ptr_ring.h @@ -40,13 +40,13 @@ struct mpmc_ptr_ring { size_t size; /* consumer_head: updated in dequeue; read in enqueue */ - atomic_long_t consumer_head; + atomic_long_t consumer_head ____cacheline_aligned_in_smp; /* producer_head: read and updated in enqueue */ - atomic_long_t producer_head; + atomic_long_t producer_head ____cacheline_aligned_in_smp; /* producer_tail: updated in enqueue, read in dequeue */ - atomic_long_t producer_tail; + atomic_long_t producer_tail ____cacheline_aligned_in_smp; }; static inline bool mpmc_ptr_ring_empty(struct mpmc_ptr_ring *r) -- cgit v1.2.3-59-g8ed1b