Lines Matching full:spinlock
3 //! A kernel spinlock.
9 /// Creates a [`SpinLock`] initialiser with the given name and a newly-created lock class.
16 $crate::sync::SpinLock::new(
21 /// A spinlock.
23 /// Exposes the kernel's [`spinlock_t`]. When multiple CPUs attempt to lock the same spinlock, only
24 /// one at a time is allowed to progress, the others will block (spinning) until the spinlock is
27 /// Instances of [`SpinLock`] need a lock class and to be pinned. The recommended way to create such
33 /// contains an inner struct (`Inner`) that is protected by a spinlock.
36 /// use kernel::{init::InPlaceInit, init::PinInit, new_spinlock, pin_init, sync::SpinLock};
47 /// d: SpinLock<Inner>,
68 /// protected by a spinlock despite only having a shared reference:
71 /// use kernel::sync::SpinLock;
78 /// fn example(m: &SpinLock<Example>) {
85 /// [`spinlock_t`]: srctree/include/linux/spinlock.h
86 pub type SpinLock<T> = super::Lock<T, SpinLockBackend>; typedef