Lines Matching refs:Relaxed
24 pub use ordering::{Acquire, Full, Relaxed, Release};
97 /// use kernel::sync::atomic::{AtomicType, Atomic, Relaxed};
115 /// assert_eq!(State::Uninit, s.load(Relaxed));
185 /// use kernel::sync::atomic::{Atomic, Relaxed, Release};
208 /// let a = unsafe { Atomic::from_ptr(foo_a_ptr) }.load(Relaxed);
249 /// use kernel::sync::atomic::{Atomic, Relaxed};
254 /// assert_eq!(101, atomic_val.load(Relaxed));
275 /// use kernel::sync::atomic::{Atomic, Relaxed};
279 /// assert_eq!(42, x.load(Relaxed));
283 /// assert_eq!(42, x.load(Relaxed));
290 OrderingType::Relaxed => T::Repr::atomic_read(&self.0),
305 /// use kernel::sync::atomic::{Atomic, Relaxed};
309 /// assert_eq!(42, x.load(Relaxed));
311 /// x.store(43, Relaxed);
313 /// assert_eq!(43, x.load(Relaxed));
322 OrderingType::Relaxed => T::Repr::atomic_set(&self.0, v),
334 core::fmt::Debug::fmt(&self.load(Relaxed), f)
349 /// use kernel::sync::atomic::{Atomic, Acquire, Relaxed};
354 /// assert_eq!(52, x.load(Relaxed));
368 OrderingType::Relaxed => T::Repr::atomic_xchg_relaxed(&self.0, v),
385 /// failed cmpxchg is a [`Relaxed`] load.
393 /// use kernel::sync::atomic::{Atomic, Full, Relaxed};
398 /// let success = x.cmpxchg(52, 64, Relaxed).is_ok();
402 /// let failure = x.cmpxchg(52, 64, Relaxed).is_err();
406 /// match x.cmpxchg(52, 64, Relaxed) {
417 /// assert_eq!(64, x.load(Relaxed));
420 /// [`Relaxed`]: ordering::Relaxed
491 OrderingType::Relaxed => {
515 /// use kernel::sync::atomic::{Atomic, Relaxed};
519 /// assert_eq!(42, x.load(Relaxed));
521 /// x.add(12, Relaxed);
523 /// assert_eq!(54, x.load(Relaxed));
526 pub fn add<Rhs>(&self, v: Rhs, _: ordering::Relaxed)
545 /// use kernel::sync::atomic::{Atomic, Acquire, Full, Relaxed};
548 /// assert_eq!(42, x.load(Relaxed));
550 /// assert_eq!(54, x.load(Relaxed));
553 /// assert_eq!(42, x.load(Relaxed));
555 /// assert_eq!(54, x.load(Relaxed));
571 OrderingType::Relaxed => T::Repr::atomic_fetch_add_relaxed(&self.0, v),
587 /// use kernel::sync::atomic::{Atomic, Acquire, Full, Relaxed};
590 /// assert_eq!(42, x.load(Relaxed));
592 /// assert_eq!(30, x.load(Relaxed));
595 /// assert_eq!(42, x.load(Relaxed));
597 /// assert_eq!(30, x.load(Relaxed));
614 OrderingType::Relaxed => T::Repr::atomic_fetch_sub_relaxed(&self.0, v),
680 /// use kernel::sync::atomic::{AtomicFlag, Relaxed};
683 /// assert_eq!(false, flag.load(Relaxed));
684 /// flag.store(true, Relaxed);
685 /// assert_eq!(true, flag.load(Relaxed));
703 /// use kernel::sync::atomic::{AtomicFlag, Relaxed};
706 /// assert_eq!(false, atomic_flag.load(Relaxed));
708 /// assert_eq!(true, atomic_flag.load(Relaxed));
753 /// - `atomic_load(.., Relaxed)` maps to `READ_ONCE()` when used for inter-thread communication.
780 /// - `atomic_store(.., Relaxed)` maps to `WRITE_ONCE()` when used for inter-thread communication.