struct SchedulerCpu {
class_rqs: PerCpuClassRqSet,
current_task: Option<Arc<Task>>,
current_runtime: CurrentRuntime,
idle_task: Arc<Task>,
task_to_requeue: Option<Arc<Task>>,
task_to_drop: Option<Arc<Task>>,
need_resched: bool,
class_table: SchedClassTable,
}Expand description
Per-CPU scheduler state
Fields§
§class_rqs: PerCpuClassRqSetMulti-class priority queues
current_task: Option<Arc<Task>>Currently running task
current_runtime: CurrentRuntimeCurrent runtime accounting
idle_task: Arc<Task>Idle task to run when no other tasks are ready
task_to_requeue: Option<Arc<Task>>Task that was just preempted and needs to be re-queued
task_to_drop: Option<Arc<Task>>Task that is dying or blocked, to drop outside the scheduler lock
need_resched: boolFlag indicating if the current task’s time slice has expired
class_table: SchedClassTableLocal copy of the class table for hot-path use without GLOBAL lock. Updated atomically when the global class table changes.
Auto Trait Implementations§
impl !RefUnwindSafe for SchedulerCpu
impl !UnwindSafe for SchedulerCpu
impl Freeze for SchedulerCpu
impl Send for SchedulerCpu
impl Sync for SchedulerCpu
impl Unpin for SchedulerCpu
impl UnsafeUnpin for SchedulerCpu
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more