From 97d65565f4ab1814ea76aafc66e2bae848071a7c Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 27 Dec 2024 12:10:40 +0100 Subject: Kernel: Fixes and improvements to scheduler. Signed-off-by: Amlal El Mahrouss --- dev/Kernel/KernelKit/UserProcessScheduler.h | 6 ++++-- dev/Kernel/KernelKit/UserProcessScheduler.inl | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'dev/Kernel/KernelKit') diff --git a/dev/Kernel/KernelKit/UserProcessScheduler.h b/dev/Kernel/KernelKit/UserProcessScheduler.h index cb1fc5a0..983a1d81 100644 --- a/dev/Kernel/KernelKit/UserProcessScheduler.h +++ b/dev/Kernel/KernelKit/UserProcessScheduler.h @@ -7,6 +7,7 @@ #ifndef INC_PROCESS_SCHEDULER_H #define INC_PROCESS_SCHEDULER_H +#include "NewKit/Defines.h" #include #include #include @@ -30,8 +31,8 @@ namespace Kernel { //! @note Forward class declarations. - class UserProcess; class IDLLObject; + class UserProcess; class UserProcessTeam; class UserProcessScheduler; class UserProcessHelper; @@ -164,8 +165,9 @@ namespace Kernel UserProcessImage Image; SizeT StackSize{kSchedMaxStackSz}; IDLLObject* DylibDelegate{nullptr}; - SizeT MemoryCursor{0}; + SizeT MemoryCursor{0UL}; SizeT MemoryLimit{kSchedMaxMemoryLimit}; + SizeT UsedMemory{0UL}; struct ProcessMemoryHeapList final { diff --git a/dev/Kernel/KernelKit/UserProcessScheduler.inl b/dev/Kernel/KernelKit/UserProcessScheduler.inl index 595ba71e..86150a06 100644 --- a/dev/Kernel/KernelKit/UserProcessScheduler.inl +++ b/dev/Kernel/KernelKit/UserProcessScheduler.inl @@ -17,6 +17,8 @@ namespace Kernel { if (entry->MemoryEntry == ptr.Leak().Leak()) { + this->UsedMemory -= entry->MemoryEntrySize; + #ifdef __ZKA_AMD64__ auto pd = hal_read_cr3(); hal_write_cr3(this->VMRegister); -- cgit v1.2.3