Skip to main content

Module sync

Module sync 

Source
Expand description

Non-sleeping synchronization for ArceOS kernel contexts.

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.
IrqSafeMutex
A mutex that disables preemption and local interrupts while held.
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_traceNon-lockdep
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_enabledNon-lockdep
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.
IrqSafeMutexGuard
A guard returned by IrqSafeMutex::lock.
LockSubclassNon-lockdep
Mutex
A safe PI mutex using RawMutex.
MutexGuard
A non-send guard returned by Mutex.
NoPreemptMutex
A mutex that disables preemption while held.
NoPreemptMutexGuard
A guard returned by NoPreemptMutex::lock.
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.