diff options
author | Ian Moffett <ian@osmora.org> | 2025-10-10 15:15:47 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-10-10 15:15:47 -0400 |
commit | 50f78ebbe69c8d5e0573b4987d1e7dc21af9779c (patch) | |
tree | ae8689ebca4ace5c2b30a46053df450dbb746ab2 /src/sys/arch/amd64/cpu | |
parent | 58d7188fbd9ff448479f4a5c9ddcdcfae446ad16 (diff) |
kern/amd64: Attempt to dequeue on a cores first go
When a CPU core first starts up, it has no proceses to assign to itself.
This commit ensures that the processor will right away start trying to
find tasks to grab from its runqueue.
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'src/sys/arch/amd64/cpu')
-rw-r--r-- | src/sys/arch/amd64/cpu/cpu_mp.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/sys/arch/amd64/cpu/cpu_mp.c b/src/sys/arch/amd64/cpu/cpu_mp.c index d95ba70..ae7b367 100644 --- a/src/sys/arch/amd64/cpu/cpu_mp.c +++ b/src/sys/arch/amd64/cpu/cpu_mp.c @@ -77,6 +77,9 @@ ap_entry(struct limine_smp_info *) corelist[ncores_up - 1] = pcore; atomic_inc_64(&ncores_up); spinlock_release(&lock); + + md_proc_yield(); + __builtin_unreachable(); for (;;); } |