Skip to main content

Module sync

Module sync 

Source
Expand description

Scheduler-owned locks, wait queues and IRQ waiting.

Runtime providers use crate::runtime::sync for PI, blocking and lockdep capabilities. The bridge shares the scheduler’s waiters, donation graph and wakeup state.

Modules§

irq
Single-owner notification capabilities for hard IRQ producers.
membarrier
Scheduler-mediated memory barriers and address-space registration.

Structs§

IrqReturnPreemptGuard
A preemption guard whose final release is an explicit IRQ-return boundary.
IrqSaveGuard
An RAII guard which saves and disables local interrupts while it is alive.
PiMutexLockInterrupted
Interruption observed while waiting for a PI mutex.
PreemptGuard
An RAII guard which disables kernel preemption while it is alive.
PreemptIrqSaveGuard
An RAII guard which disables preemption and local interrupts.
RawMutex
A non-recursive, urgency-ordered PI mutex implementing lock_api::RawMutex.
SpinLock
A non-sleeping mutual-exclusion lock.
SpinRwLock
A non-sleeping read-write lock with acquisition-site context policy.
WaitQueue
A FIFO of scheduler threads that may sleep in ordinary task context.
WaitQueueWakeToken
An exact wake capability for one externally registered task waiter.

Enums§

WaitQueueRegistration
Result of publishing an exact waiter into a composite notification source.
WaitQueueWakeOutcome
Result of selecting one exact WaitQueueWakeToken.

Traits§

InterruptibleMutexExt
Linux rtmutex-style interruptible acquisition for a PI mutex.
LockdepMutexExt
Adds lockdep subclass acquisition to a sleeping Mutex.

Functions§

dump_lockdep_trace
hardirq_enter
Publishes entry into the runtime’s hard-interrupt lifecycle.
hardirq_exit
Publishes exit from the runtime’s hard-interrupt lifecycle.
set_lockdep_trace_enabled
wait_until_registered
Blocks until condition is true while publishing one exact wake token.

Type Aliases§

IrqMutex
A non-sleeping mutex whose guard saves and disables local IRQs.
LockSubclass
Mutex
A safe PI mutex using RawMutex.
MutexGuard
A non-send guard returned by Mutex.
RawIrqSaveMutex
A raw spin lock that disables kernel preemption and local IRQs while held, mirroring SpinLock::lock_irqsave but exposed as a lock_api::RawMutex for use with foreign generic code.
RawSpinLockGuard
A guard returned by SpinLock::lock_raw.
RawSpinRwLockReadGuard
A raw read guard.
RawSpinRwLockWriteGuard
A raw write guard.
SpinLockGuard
A guard returned by SpinLock::lock.
SpinLockIrqSaveGuard
A guard returned by SpinLock::lock_irqsave.
SpinRwLockIrqSaveReadGuard
An IRQ-save read guard.
SpinRwLockIrqSaveWriteGuard
An IRQ-save write guard.
SpinRwLockReadGuard
A read guard returned by SpinRwLock::read.
SpinRwLockWriteGuard
A write guard returned by SpinRwLock::write.