Skip to main content

Module sync

Module sync 

Source

Re-exports§

pub use guardian::Guardian;
pub use guardian::IrqDisabled;
pub use guardian::PreemptDisabled;
pub use preempt::PreemptGuard;
pub use waitqueue::WaitCondition;
pub use waitqueue::WaitQueue;

Modules§

guardian
Lock guardian trait : determines the guard behaviour of [SpinLock].
preempt
Preemption guard : disables preemption for the lifetime of the guard.
waitqueue
Wait queue and condition variable for blocking/waking tasks.

Structs§

FixedQueue
Fixed-capacity FIFO queue with no heap allocation.
IrqDisabledToken
Preuve typée que les IRQ sont masquées sur le CPU courant.
SpinLock
A spinlock parameterised by a Guardian.
SpinLockGuard
RAII guard that holds the lock and carries the guardian state.

Functions§

debug_clear_watch_lock_addr
Clear the watched lock address.
debug_set_trace_buddy_addr
Register buddy lock address for E9 trace (lock ordering vs scheduler).
debug_set_trace_lock_addr
Register a lock address for E9 trace on drop (e.g. scheduler lock).
debug_set_trace_slab_addr
Register slab lock address for E9 trace.
debug_set_watch_lock_addr
Register a lock address to trace on every drop (serial console output).
with_irqs_disabled
Execute a closure with IRQs disabled, providing an IrqDisabledToken as proof.