mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 14:28:12 +00:00
Kernel: Initialize threading and process management earlier
This re-arranges the order of how things are initialized so that we try to initialize process and thread management earlier. This is neccessary because a lot of the code uses the Lock class, which really needs to have a running scheduler in place so that we can properly preempt. This also enables us to potentially initialize some things in parallel.
This commit is contained in:
parent
c2792212f4
commit
6938be00f1
4 changed files with 45 additions and 33 deletions
|
@ -404,7 +404,7 @@ UNMAP_AFTER_INIT void Scheduler::initialize()
|
|||
g_ready_queues = new ThreadReadyQueue[g_ready_queue_buckets];
|
||||
|
||||
g_finalizer_has_work.store(false, AK::MemoryOrder::memory_order_release);
|
||||
s_colonel_process = Process::create_kernel_process(idle_thread, "colonel", idle_loop, nullptr, 1).leak_ref();
|
||||
s_colonel_process = Process::create_kernel_process(idle_thread, "colonel", idle_loop, nullptr, 1, Process::RegisterProcess::No).leak_ref();
|
||||
VERIFY(s_colonel_process);
|
||||
VERIFY(idle_thread);
|
||||
idle_thread->set_priority(THREAD_PRIORITY_MIN);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue