15 auto& cpu_sched = GetCurrentCpuSched();
17 auto* current = GetCurrentTask();
18 assert(current !=
nullptr &&
"Sleep: No current task to sleep");
20 "Sleep: current task status must be kRunning");
33 current->sched_info.wake_tick = cpu_sched.local_tick + sleep_ticks;
38 if (cpu_sched.sleeping_tasks.full()) {
39 klog::Err(
"Sleep: sleeping_tasks full, cannot sleep task {}",
44 cpu_sched.sleeping_tasks.push(current);