scheduler: pick cpus properly in pick_cpu when system is not fully up yet

This commit is contained in:
Matheus
2026-06-15 19:31:35 -03:00
parent 9f9bc3151e
commit 6eaa3223d1
+3 -3
View File
@@ -9,9 +9,9 @@ bitmap_t sched_idle_cpu_bitmap;
spinlock_t sched_idle_cpu_bitmap_lock;
static cpu_t *pick_cpu(thread_t *thread) {
// if there is only one cpu awake, thats the current one
if (arch_smp_cpusawake == 1)
return current_cpu();
// if the system is still being bootstrapped or it is a single core machine, run it on the BSP
if (arch_smp_get_cpu_count() == 1 || unlikely(arch_smp_cpusawake != arch_smp_get_cpu_count()))
return get_bsp();
// if the thread targets a specific cpu, then go into that
if (thread->cputarget)