Skip to main content

pick_next_task_local

Function pick_next_task_local 

Source
pub(super) fn pick_next_task_local(
    cpu: &mut SchedulerCpu,
    cpu_index: usize,
) -> Arc<Task>
Expand description

Pick the next task using only per-CPU LOCAL state.

Handles current task disposition (re-queue, drop-for-cleanup, or ignore if Blocked), then picks from the local class_rqs, falls back to work-stealing, and finally returns the idle task.

Dead tasks: if the current task is Dead, it goes into task_to_drop. Global map cleanup (all_tasks, task_cpu, etc.) must have been performed by the caller (e.g., exit_current_task) BEFORE reaching this point.