mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-02-22 23:55:12 +00:00
Kernel: Implement software context switching and Processor structure
Moving certain globals into a new Processor structure for each CPU allows us to eventually run an instance of the scheduler on each CPU.
This commit is contained in:
@@ -52,7 +52,7 @@ void WaitQueue::wake_one(Atomic<bool>* lock)
|
||||
return;
|
||||
if (auto* thread = m_threads.take_first())
|
||||
thread->wake_from_queue();
|
||||
Scheduler::stop_idling();
|
||||
Scheduler::yield();
|
||||
}
|
||||
|
||||
void WaitQueue::wake_n(i32 wake_count)
|
||||
@@ -67,7 +67,7 @@ void WaitQueue::wake_n(i32 wake_count)
|
||||
break;
|
||||
thread->wake_from_queue();
|
||||
}
|
||||
Scheduler::stop_idling();
|
||||
Scheduler::yield();
|
||||
}
|
||||
|
||||
void WaitQueue::wake_all()
|
||||
@@ -77,7 +77,7 @@ void WaitQueue::wake_all()
|
||||
return;
|
||||
while (!m_threads.is_empty())
|
||||
m_threads.take_first()->wake_from_queue();
|
||||
Scheduler::stop_idling();
|
||||
Scheduler::yield();
|
||||
}
|
||||
|
||||
void WaitQueue::clear()
|
||||
|
||||
Reference in New Issue
Block a user