pub struct IrqSavePolicy;Trait Implementations§
impl<L: RawLock, LP: ExclusiveLockPolicy<L>, const LOCK_FLAGS: LockFlags> ExclusiveLockPolicy<LockdepTracked<L, LP, LOCK_FLAGS>> for IrqSavePolicywhere
IrqSavePolicy: ExclusiveLockPolicy<L>,
impl ExclusiveLockPolicy<RawMonitoredSpinlockStorage> for IrqSavePolicy
impl ExclusiveLockPolicy<RawSpinlockStorage> for IrqSavePolicy
Source§impl<L: RawLock, LP: ExclusiveLockPolicy<L>, const LOCK_FLAGS: LockFlags> LockPolicy<LockdepTracked<L, LP, LOCK_FLAGS>> for IrqSavePolicywhere
IrqSavePolicy: LockPolicy<L>,
impl<L: RawLock, LP: ExclusiveLockPolicy<L>, const LOCK_FLAGS: LockFlags> LockPolicy<LockdepTracked<L, LP, LOCK_FLAGS>> for IrqSavePolicywhere
IrqSavePolicy: LockPolicy<L>,
Source§type AcquireArgs = <IrqSavePolicy as LockPolicy<L>>::AcquireArgs
type AcquireArgs = <IrqSavePolicy as LockPolicy<L>>::AcquireArgs
Arguments passed when acquiring the lock under this policy.
Source§type GuardState = LockdepTrackedGuardState<<IrqSavePolicy as LockPolicy<L>>::GuardState>
type GuardState = LockdepTrackedGuardState<<IrqSavePolicy as LockPolicy<L>>::GuardState>
State stored in the pinned guard across lock acquisition and release.
Source§unsafe fn pre_validate(
lock: &LockdepTracked<L, LP, LOCK_FLAGS>,
state: &mut Self::GuardState,
args: Self::AcquireArgs,
)
unsafe fn pre_validate( lock: &LockdepTracked<L, LP, LOCK_FLAGS>, state: &mut Self::GuardState, args: Self::AcquireArgs, )
Performs any pre-validation setup (such as disabling and saving interrupts) before
lockdep validation runs. Read more
Source§unsafe fn pre_reacquire(
lock: &LockdepTracked<L, LP, LOCK_FLAGS>,
state: &mut Self::GuardState,
)
unsafe fn pre_reacquire( lock: &LockdepTracked<L, LP, LOCK_FLAGS>, state: &mut Self::GuardState, )
Re-runs pre-validation on an existing
GuardState before re-acquiring the lock (e.g. in
call_unlocked). Read moreSource§unsafe fn acquire(
lock: &LockdepTracked<L, LP, LOCK_FLAGS>,
state: &mut Self::GuardState,
args: Self::AcquireArgs,
)
unsafe fn acquire( lock: &LockdepTracked<L, LP, LOCK_FLAGS>, state: &mut Self::GuardState, args: Self::AcquireArgs, )
Acquires the raw synchronization lock. Read more
Source§unsafe fn post_validate_acquire(
lock: &LockdepTracked<L, LP, LOCK_FLAGS>,
state: &mut Self::GuardState,
args: Self::AcquireArgs,
)
unsafe fn post_validate_acquire( lock: &LockdepTracked<L, LP, LOCK_FLAGS>, state: &mut Self::GuardState, args: Self::AcquireArgs, )
Acquires the raw synchronization lock after
pre_validate and
lockdep validation have completed. Read moreSource§unsafe fn reacquire(
lock: &LockdepTracked<L, LP, LOCK_FLAGS>,
state: &mut Self::GuardState,
)
unsafe fn reacquire( lock: &LockdepTracked<L, LP, LOCK_FLAGS>, state: &mut Self::GuardState, )
Re-acquires the raw synchronization lock using existing guard state (e.g. after
call_unlocked). Read moreSource§unsafe fn post_validate_reacquire(
lock: &LockdepTracked<L, LP, LOCK_FLAGS>,
state: &mut Self::GuardState,
)
unsafe fn post_validate_reacquire( lock: &LockdepTracked<L, LP, LOCK_FLAGS>, state: &mut Self::GuardState, )
Re-acquires the raw synchronization lock after
pre_reacquire and
lockdep validation have completed. Read moreSource§unsafe fn untrack(
lock: &LockdepTracked<L, LP, LOCK_FLAGS>,
state: &mut Self::GuardState,
)
unsafe fn untrack( lock: &LockdepTracked<L, LP, LOCK_FLAGS>, state: &mut Self::GuardState, )
Temporarily untracks the held lock in lockdep (used by
call_untracked). Read moreSource§unsafe fn retrack(
lock: &LockdepTracked<L, LP, LOCK_FLAGS>,
state: &mut Self::GuardState,
)
unsafe fn retrack( lock: &LockdepTracked<L, LP, LOCK_FLAGS>, state: &mut Self::GuardState, )
Source§unsafe fn release(
lock: &LockdepTracked<L, LP, LOCK_FLAGS>,
state: &mut Self::GuardState,
)
unsafe fn release( lock: &LockdepTracked<L, LP, LOCK_FLAGS>, state: &mut Self::GuardState, )
Releases the raw synchronization lock, restoring the state. Read more
Source§impl LockPolicy<RawMonitoredSpinlockStorage> for IrqSavePolicy
impl LockPolicy<RawMonitoredSpinlockStorage> for IrqSavePolicy
Source§type AcquireArgs = SourceTag
type AcquireArgs = SourceTag
Arguments passed when acquiring the lock under this policy.
Source§type GuardState = MonitoredSpinlockGuardState
type GuardState = MonitoredSpinlockGuardState
State stored in the pinned guard across lock acquisition and release.
Source§unsafe fn pre_validate(
_lock: &RawMonitoredSpinlockStorage,
state: &mut Self::GuardState,
tag: Self::AcquireArgs,
)
unsafe fn pre_validate( _lock: &RawMonitoredSpinlockStorage, state: &mut Self::GuardState, tag: Self::AcquireArgs, )
Performs any pre-validation setup (such as disabling and saving interrupts) before
lockdep validation runs. Read more
Source§unsafe fn pre_reacquire(
_lock: &RawMonitoredSpinlockStorage,
state: &mut Self::GuardState,
)
unsafe fn pre_reacquire( _lock: &RawMonitoredSpinlockStorage, state: &mut Self::GuardState, )
Re-runs pre-validation on an existing
GuardState before re-acquiring the lock (e.g. in
call_unlocked). Read moreSource§unsafe fn acquire(
lock: &RawMonitoredSpinlockStorage,
state: &mut Self::GuardState,
tag: Self::AcquireArgs,
)
unsafe fn acquire( lock: &RawMonitoredSpinlockStorage, state: &mut Self::GuardState, tag: Self::AcquireArgs, )
Acquires the raw synchronization lock. Read more
Source§unsafe fn post_validate_acquire(
lock: &RawMonitoredSpinlockStorage,
_state: &mut Self::GuardState,
tag: Self::AcquireArgs,
)
unsafe fn post_validate_acquire( lock: &RawMonitoredSpinlockStorage, _state: &mut Self::GuardState, tag: Self::AcquireArgs, )
Acquires the raw synchronization lock after
pre_validate and
lockdep validation have completed. Read moreSource§unsafe fn reacquire(
lock: &RawMonitoredSpinlockStorage,
state: &mut Self::GuardState,
)
unsafe fn reacquire( lock: &RawMonitoredSpinlockStorage, state: &mut Self::GuardState, )
Re-acquires the raw synchronization lock using existing guard state (e.g. after
call_unlocked). Read moreSource§unsafe fn post_validate_reacquire(
lock: &RawMonitoredSpinlockStorage,
state: &mut Self::GuardState,
)
unsafe fn post_validate_reacquire( lock: &RawMonitoredSpinlockStorage, state: &mut Self::GuardState, )
Re-acquires the raw synchronization lock after
pre_reacquire and
lockdep validation have completed. Read moreSource§unsafe fn release(
lock: &RawMonitoredSpinlockStorage,
state: &mut Self::GuardState,
)
unsafe fn release( lock: &RawMonitoredSpinlockStorage, state: &mut Self::GuardState, )
Releases the raw synchronization lock, restoring the state. Read more
Source§unsafe fn untrack(_lock: &L, _state: &mut Self::GuardState)
unsafe fn untrack(_lock: &L, _state: &mut Self::GuardState)
Temporarily untracks the held lock in lockdep (used by
call_untracked). Read moreSource§impl LockPolicy<RawSpinlockStorage> for IrqSavePolicy
impl LockPolicy<RawSpinlockStorage> for IrqSavePolicy
Source§type AcquireArgs = ()
type AcquireArgs = ()
Arguments passed when acquiring the lock under this policy.
Source§type GuardState = InterruptSavedState
type GuardState = InterruptSavedState
State stored in the pinned guard across lock acquisition and release.
Source§unsafe fn pre_validate(
_lock: &RawSpinlockStorage,
state: &mut Self::GuardState,
_args: (),
)
unsafe fn pre_validate( _lock: &RawSpinlockStorage, state: &mut Self::GuardState, _args: (), )
Performs any pre-validation setup (such as disabling and saving interrupts) before
lockdep validation runs. Read more
Source§unsafe fn pre_reacquire(
_lock: &RawSpinlockStorage,
state: &mut Self::GuardState,
)
unsafe fn pre_reacquire( _lock: &RawSpinlockStorage, state: &mut Self::GuardState, )
Re-runs pre-validation on an existing
GuardState before re-acquiring the lock (e.g. in
call_unlocked). Read moreSource§unsafe fn acquire(
lock: &RawSpinlockStorage,
state: &mut Self::GuardState,
_args: (),
)
unsafe fn acquire( lock: &RawSpinlockStorage, state: &mut Self::GuardState, _args: (), )
Acquires the raw synchronization lock. Read more
Source§unsafe fn post_validate_acquire(
lock: &RawSpinlockStorage,
_state: &mut Self::GuardState,
_args: (),
)
unsafe fn post_validate_acquire( lock: &RawSpinlockStorage, _state: &mut Self::GuardState, _args: (), )
Acquires the raw synchronization lock after
pre_validate and
lockdep validation have completed. Read moreSource§unsafe fn reacquire(lock: &RawSpinlockStorage, state: &mut Self::GuardState)
unsafe fn reacquire(lock: &RawSpinlockStorage, state: &mut Self::GuardState)
Re-acquires the raw synchronization lock using existing guard state (e.g. after
call_unlocked). Read moreSource§unsafe fn post_validate_reacquire(
lock: &RawSpinlockStorage,
_state: &mut Self::GuardState,
)
unsafe fn post_validate_reacquire( lock: &RawSpinlockStorage, _state: &mut Self::GuardState, )
Re-acquires the raw synchronization lock after
pre_reacquire and
lockdep validation have completed. Read moreSource§unsafe fn release(lock: &RawSpinlockStorage, state: &mut Self::GuardState)
unsafe fn release(lock: &RawSpinlockStorage, state: &mut Self::GuardState)
Releases the raw synchronization lock, restoring the state. Read more
Source§unsafe fn untrack(_lock: &L, _state: &mut Self::GuardState)
unsafe fn untrack(_lock: &L, _state: &mut Self::GuardState)
Temporarily untracks the held lock in lockdep (used by
call_untracked). Read moreAuto Trait Implementations§
impl Freeze for IrqSavePolicy
impl RefUnwindSafe for IrqSavePolicy
impl Send for IrqSavePolicy
impl Sync for IrqSavePolicy
impl Unpin for IrqSavePolicy
impl UnsafeUnpin for IrqSavePolicy
impl UnwindSafe for IrqSavePolicy
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
Source§impl<T> PinInit<T> for T
impl<T> PinInit<T> for T
Source§unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), !>
unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), !>
Initializes
slot. Read moreSource§fn pin_chain<F>(self, f: F) -> ChainPinInit<Self, F, T, E>where
F: FnOnce(Pin<&mut T>) -> Result<(), E>,
fn pin_chain<F>(self, f: F) -> ChainPinInit<Self, F, T, E>where
F: FnOnce(Pin<&mut T>) -> Result<(), E>,
First initializes the value using
self then calls the function f with the initialized
value. Read more