From aa548ba47347a67ff64a38dc842f9d0d5d6bf364 Mon Sep 17 00:00:00 2001 From: zer0condition Date: Sun, 22 Mar 2026 19:56:35 +0530 Subject: [KernelKit] scheduler sleep tracking + mutex priority inheritance - add STime field to UserProcess for tracking sleep/blocked time - boost PTime proportionally when process wakes from sleep (interactive boost) - implement priority inheritance in BinaryMutex to prevent priority inversion - fix broken Unlock() that was spinning waiting for process status change - fix LockAndWait() that was locking then immediately unlocking Co-Authored-By: Claude Opus 4.6 --- src/kernel/KernelKit/UserProcessScheduler.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/kernel/KernelKit/UserProcessScheduler.h') diff --git a/src/kernel/KernelKit/UserProcessScheduler.h b/src/kernel/KernelKit/UserProcessScheduler.h index 5018f1f6..8c7a4afa 100644 --- a/src/kernel/KernelKit/UserProcessScheduler.h +++ b/src/kernel/KernelKit/UserProcessScheduler.h @@ -83,9 +83,10 @@ class UserProcess final { kExecutableKindCount, }; - ProcessTime PTime{0}; //! @brief Process allocated tine. + ProcessTime PTime{0}; //! @brief Process allocated time. ProcessTime RTime{0}; //! @brief Process run time. - ProcessTime UTime{0}; //! #brief Process used time. + ProcessTime UTime{0}; //! @brief Process used time. + ProcessTime STime{0}; //! @brief Process sleep time (for dynamic priority boost). ProcessID ProcessId{kCPSInvalidPID}; ExecutableKind Kind{ExecutableKind::kExecutableKind}; -- cgit v1.2.3