diff options
| author | Amlal <amlal.elmahrouss@icloud.com> | 2024-10-29 07:11:56 +0100 |
|---|---|---|
| committer | Amlal <amlal.elmahrouss@icloud.com> | 2024-10-29 07:11:56 +0100 |
| commit | c08af30448618c5d1950dc1fa0fb1685782e7b22 (patch) | |
| tree | bc12b43a94fe4d4ff60b0f7c17100a179d95d0dc /dev/ZKAKit/KernelKit | |
| parent | 0511c53e648e5f253cd9e83c9e211aa6600db377 (diff) | |
FIX: Fix scheduler crash (1/2)
- UserProcessScheduler has been improved and cleaned up.
- Same goes for the HardwareThreadScheduler
Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/ZKAKit/KernelKit')
| -rw-r--r-- | dev/ZKAKit/KernelKit/CodeMgr.h | 2 | ||||
| -rw-r--r-- | dev/ZKAKit/KernelKit/Heap.h | 6 | ||||
| -rw-r--r-- | dev/ZKAKit/KernelKit/PEFCodeMgr.h | 2 | ||||
| -rw-r--r-- | dev/ZKAKit/KernelKit/UserProcessScheduler.h | 4 |
4 files changed, 3 insertions, 11 deletions
diff --git a/dev/ZKAKit/KernelKit/CodeMgr.h b/dev/ZKAKit/KernelKit/CodeMgr.h index b8fa4c37..4faa1235 100644 --- a/dev/ZKAKit/KernelKit/CodeMgr.h +++ b/dev/ZKAKit/KernelKit/CodeMgr.h @@ -27,5 +27,5 @@ namespace Kernel /// @note This sets up a new stack, anything on the main function that calls the Kernel will not be accessible. /// @param main the start of the process. /// @return The team's process id. - SizeT rtl_create_process(MainKind main, const Char* process_name) noexcept; + ProcessID rtl_create_process(MainKind main, const Char* process_name) noexcept; } // namespace Kernel diff --git a/dev/ZKAKit/KernelKit/Heap.h b/dev/ZKAKit/KernelKit/Heap.h index 3b098397..4746eb47 100644 --- a/dev/ZKAKit/KernelKit/Heap.h +++ b/dev/ZKAKit/KernelKit/Heap.h @@ -53,12 +53,6 @@ namespace Kernel inline T* mm_new_class(Args&&... args) { T* cls = new T(move(args)...); - - if (cls == nullptr) - { - ke_stop(RUNTIME_CHECK_POINTER); - } - return cls; } diff --git a/dev/ZKAKit/KernelKit/PEFCodeMgr.h b/dev/ZKAKit/KernelKit/PEFCodeMgr.h index 00afa2d8..ed9b6d1f 100644 --- a/dev/ZKAKit/KernelKit/PEFCodeMgr.h +++ b/dev/ZKAKit/KernelKit/PEFCodeMgr.h @@ -60,7 +60,7 @@ namespace Kernel namespace Utils { - SizeT execute_from_image(PEFLoader& exec, const Int32& procKind) noexcept; + ProcessID execute_from_image(PEFLoader& exec, const Int32& procKind) noexcept; } // namespace Utils } // namespace Kernel diff --git a/dev/ZKAKit/KernelKit/UserProcessScheduler.h b/dev/ZKAKit/KernelKit/UserProcessScheduler.h index c093bfb1..df366e07 100644 --- a/dev/ZKAKit/KernelKit/UserProcessScheduler.h +++ b/dev/ZKAKit/KernelKit/UserProcessScheduler.h @@ -14,7 +14,7 @@ #define kSchedMinMicroTime (AffinityKind::kStandard) #define kSchedInvalidPID (-1) -#define kSchedProcessLimitPerTeam (16U) +#define kSchedProcessLimitPerTeam (32U) #define kSchedMaxMemoryLimit gib_cast(128) #define kSchedMaxStackSz mib_cast(8) @@ -278,7 +278,6 @@ namespace Kernel const SizeT Run() noexcept; public: - STATIC ErrorOr<UserProcessScheduler> TheSafe(); STATIC UserProcessScheduler& The(); private: @@ -296,7 +295,6 @@ namespace Kernel STATIC bool CanBeScheduled(const UserProcess& process); STATIC PID& TheCurrentPID(); STATIC SizeT StartScheduling(); - STATIC Bool InitializeScheduler(); }; const UInt32& sched_get_exit_code(void) noexcept; |
