Skip to main content

Crate ax_sync

Crate ax_sync 

Source
Expand description

OS-independent synchronization interfaces for TGOSKits kernels and components.

Acquisition methods state the required execution context: ordinary spin acquisitions disable preemption, *_irqsave acquisitions additionally save and disable local interrupts, and raw acquisitions require an explicit unsafe contract. [Mutex] is always sleepable and never aliases a spin lock.

Structs§

IrqReturnPreemptGuard
A preemption guard whose final release is an IRQ-return boundary.
IrqSaveGuard
An RAII guard which saves and disables local interrupts.
PreemptGuard
An RAII guard which disables kernel preemption while it is alive.
PreemptIrqSaveGuard
An RAII guard which disables preemption and local interrupts.
SpinLock
A non-sleeping mutual-exclusion lock.
SpinLockGuard
A guard returned by any SpinLock acquisition method.
SpinRwLock
A non-sleeping read-write lock.
SpinRwLockReadGuard
A read guard returned by SpinRwLock.
SpinRwLockWriteGuard
A write guard returned by SpinRwLock.

Functions§

dump_lockdep_trace
Dumps the runtime lockdep trace buffer.
hardirq_enter
Publishes entry into the runtime hard-interrupt lifecycle.
hardirq_exit
Publishes exit from the runtime hard-interrupt lifecycle.
set_lockdep_trace_enabled
Enables or disables runtime lockdep trace recording.

Type Aliases§

RawSpinLockGuard
A guard returned by SpinLock::lock_raw.
RawSpinRwLockReadGuard
A raw read guard.
RawSpinRwLockWriteGuard
A raw write guard.
SpinLockIrqSaveGuard
A guard returned by SpinLock::lock_irqsave.
SpinRwLockIrqSaveReadGuard
An IRQ-save read guard.
SpinRwLockIrqSaveWriteGuard
An IRQ-save write guard.