diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-18 15:15:52 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-18 15:15:52 +0200 |
| commit | 0266d8058990a496b935abd76417abcfe4e9cffd (patch) | |
| tree | db4ffa8b49575ff2f81b98d3dfc078d87a4eb2f5 /dev/kernel/src/HardwareThreadScheduler.cc | |
| parent | 163f32fbfbfa2fb0744787769fb3d4865f57d8dd (diff) | |
dev(sched): Improvements and work in progress fixes.
what?
- The main algorithm got improved for real time tasks, and SMP usage.
- The SMP usage was present before, I just reintroduced it after
realizing that it won't scale well from what I have right now.
- Also removed weird implementations quirks from previous sketch.
- Such as the core 0 being reserved for the boot core.
- Also moved FS init code after IDT initalization.
- To avoid weird FS format behavior.
- Wrap HPET signature in a macro.
next?
- Work on the HAL's userspace transition mechanism.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/src/HardwareThreadScheduler.cc')
| -rw-r--r-- | dev/kernel/src/HardwareThreadScheduler.cc | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/dev/kernel/src/HardwareThreadScheduler.cc b/dev/kernel/src/HardwareThreadScheduler.cc index 6cb83b3d..eda68104 100644 --- a/dev/kernel/src/HardwareThreadScheduler.cc +++ b/dev/kernel/src/HardwareThreadScheduler.cc @@ -158,12 +158,8 @@ HAL::StackFramePtr HardwareThreadScheduler::Leak() noexcept { */ /***********************************************************************************/ Ref<HardwareThread*> HardwareThreadScheduler::operator[](SizeT idx) { - if (idx == 0) { - if (fThreadList[idx].Kind() != kAPSystemReserved) { - fThreadList[idx].fKind = kAPBoot; - } - } else if (idx >= kMaxAPInsideSched) { - static HardwareThread* kFakeThread = nullptr; + if (idx >= kMaxAPInsideSched) { + STATIC HardwareThread* kFakeThread = nullptr; return {kFakeThread}; } |
