Skip to main content

LOCAL_FRAME_CACHES

Static LOCAL_FRAME_CACHES 

Source
static LOCAL_FRAME_CACHES: [SpinLock<LocalFrameCache, PreemptDisabled>; 64]
Expand description

Per-CPU frame caches protected by a PreemptDisabled guardian.

These caches are only accessed from alloc_order0_cached / free_order0_cached, which are always called with IRQs already disabled by the caller (via IrqDisabledToken). Using PreemptDisabled instead of the default IrqDisabled avoids redundant RFLAGS save/restore on every lock acquisition while still preventing preemption-driven data races.

ยงSafety invariant

If any future code path acquires a LOCAL_FRAME_CACHES lock from an interrupt handler or without IRQs disabled, this must be reverted to SpinLock<LocalFrameCache> (default IrqDisabled guardian).