Lines Matching refs:tail
71 tail: CachePadded<AtomicUsize>,
109 let tail = 0;
136 tail: CachePadded::new(AtomicUsize::new(tail)),
157 let mut tail = self.tail.load(Ordering::Relaxed);
161 let index = tail & (self.one_lap - 1);
162 let lap = tail & !(self.one_lap - 1);
169 if tail == stamp {
173 tail + 1
181 match self.tail.compare_exchange_weak(
182 tail,
192 slot.stamp.store(tail + 1, Ordering::Release);
196 tail = t;
200 } else if stamp.wrapping_add(self.one_lap) == tail + 1 {
205 if head.wrapping_add(self.one_lap) == tail {
211 tail = self.tail.load(Ordering::Relaxed);
215 tail = self.tail.load(Ordering::Relaxed);
281 let tail = self.tail.load(Ordering::Relaxed);
284 if tail == head {
328 let tail = self.tail.load(Ordering::SeqCst);
335 tail == head
352 let tail = self.tail.load(Ordering::SeqCst);
359 head.wrapping_add(self.one_lap) == tail
381 let tail = self.tail.load(Ordering::SeqCst);
385 if self.tail.load(Ordering::SeqCst) == tail {
387 let tix = tail & (self.one_lap - 1);
393 } else if tail == head {