pub enum TaskError {
Show 35 variants
InvalidConfiguration,
InvalidCpuCount(usize),
InvalidCpu(u32),
CpuOwnerMismatch {
expected: u32,
actual: u32,
},
CpuOwnerBorrowed,
CpuAlreadyOnline(u32),
CpuOffline(u32),
CpuNotQuiescent(u32),
LastOnlineCpu(u32),
InvalidNice(i8),
InvalidRtPriority(u8),
InvalidRoundRobinQuantum,
InvalidDeadline {
runtime_ns: u64,
deadline_ns: u64,
period_ns: u64,
},
UnsupportedDeadlineFlags(u32),
DeadlineAdmission,
DeadlineAffinity,
StaleThreadId,
ExecutorOwnerMismatch {
expected: u64,
actual: u64,
},
InvalidTransition {
from: ThreadState,
to: ThreadState,
},
AlreadyQueued,
NotReady,
NotExited,
NoRunnableThread,
TimerCapacity,
ThreadCapacity,
ActiveTimerAffinity,
NotInitialized,
InvalidRuntimeHandle,
UnsafeContext,
InvalidPiState,
InvalidPiWaitState(PiWaitStateError),
PiCycle,
PiChainLimit {
limit: usize,
},
ThreadBusy,
RuntimeFailure(u32),
}Expand description
Errors produced by task-system operations.
Variants§
InvalidConfiguration
A task-system configuration field is internally inconsistent.
InvalidCpuCount(usize)
The requested CPU count is zero or cannot be represented.
InvalidCpu(u32)
A CPU identifier is outside the configured topology.
CpuOwnerMismatch
A CPU-local object was used by a CPU other than its owner.
CpuOwnerBorrowed
The calling CPU’s scheduler object already has an active owner borrow.
CpuAlreadyOnline(u32)
The CPU is already registered or online.
CpuOffline(u32)
The CPU is not online.
CpuNotQuiescent(u32)
The CPU still owns runnable, timed, or remotely published work.
LastOnlineCpu(u32)
A scheduler topology must retain at least one online CPU.
InvalidNice(i8)
A nice value is outside -20..=19.
InvalidRtPriority(u8)
An RT priority is outside 1..=99.
InvalidRoundRobinQuantum
A round-robin quantum is zero.
InvalidDeadline
Deadline parameters violate 0 < runtime <= deadline <= period.
Fields
UnsupportedDeadlineFlags(u32)
Deadline flags contain unsupported bits.
DeadlineAdmission
A deadline reservation exceeds root-domain capacity.
DeadlineAffinity
Deadline affinity does not cover every online CPU.
StaleThreadId
The thread identifier is stale or unknown.
ExecutorOwnerMismatch
A local executor wake header does not belong to the calling thread.
InvalidTransition
The requested lifecycle transition is invalid.
AlreadyQueued
A thread is already present in a run queue.
NotReady
A thread is not in a schedulable state.
NotExited
A thread cannot be reaped before reaching Exited.
NoRunnableThread
The CPU has no idle thread and no runnable work.
TimerCapacity
A configured fixed-capacity resource is exhausted.
ThreadCapacity
The cold-path scheduler thread reservation is exhausted.
ActiveTimerAffinity
An affinity update would move a thread away from its owner-CPU sleep timer.
NotInitialized
The runtime-backed facade has not been initialized.
InvalidRuntimeHandle
A runtime handle is non-null but violates the object handle contract.
UnsafeContext
Scheduling was requested from hard IRQ or another non-safe-point context.
InvalidPiState
PI ownership or waiter metadata does not match the requested transition.
InvalidPiWaitState(PiWaitStateError)
A PI waiter could not enter the lock graph because one checked invariant failed.
PiCycle
A transitive priority donation would form a lock dependency cycle.
PiChainLimit
A PI operation exceeded the bounded owner-chain walk.
ThreadBusy
Thread wake/handle references still retain runtime-owned resources.
RuntimeFailure(u32)
A runtime resource teardown operation failed.
Trait Implementations§
impl Copy for TaskError
impl Eq for TaskError
Source§impl Error for TaskError
impl Error for TaskError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()