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.
LocalLock
One RT lock and protected value per possible CPU.
LocalLockGuard
Local lock ownership; releases the lock before the outer migration pin.
MigrationGuard
Pins the current task to its CPU without disabling preemption or interrupts.
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.
RawRwSemaphore
Raw implementation of a sleeping reader/writer semaphore.
RawSpinLock
A non-sleeping mutual-exclusion lock.
RawSpinRwLock
A non-sleeping read-write lock with acquisition-site context policy.
Semaphore
A counting semaphore without priority inheritance or task ownership.
SpinLock
Linux PREEMPT_RT spinlock semantics: contention sleeps with saved task state.
SpinLockGuard
A task-bound guard that releases migration exclusion before lock handoff.
SpinRwLock
A preemptible RT reader/writer lock with a single-writer PI gate.
SpinRwLockReadGuard
Shared RT lock ownership, bound to the acquiring task.
SpinRwLockWriteGuard
Exclusive RT lock ownership, bound to the acquiring task.
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§

SemaphoreError
Failure to acquire or release a counting semaphore.
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 RawSpinLock::lock_irqsave but exposed as a lock_api::RawMutex for use with foreign generic code.
RawSpinLockGuard
A guard returned by RawSpinLock::lock.
RawSpinLockIrqSaveGuard
A guard returned by RawSpinLock::lock_irqsave.
RawSpinLockUnpinnedGuard
A guard returned by RawSpinLock::lock_raw.
RawSpinRwLockIrqSaveReadGuard
An IRQ-save read guard.
RawSpinRwLockIrqSaveWriteGuard
An IRQ-save write guard.
RawSpinRwLockReadGuard
A read guard returned by RawSpinRwLock::read.
RawSpinRwLockUnpinnedReadGuard
A raw read guard.
RawSpinRwLockUnpinnedWriteGuard
A raw write guard.
RawSpinRwLockWriteGuard
A write guard returned by RawSpinRwLock::write.
RwSemaphore
A sleeping reader/writer semaphore; holding it does not pin the CPU.
RwSemaphoreReadGuard
A shared, task-bound semaphore guard.
RwSemaphoreWriteGuard
An exclusive, task-bound semaphore guard.