From 744e9aba579a51dcab8f78009cbc091ce3cd8503 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 24 Oct 2025 12:05:40 +0200 Subject: feat: scheduler: process scheduler improvements and wip subsystem. Signed-off-by: Amlal El Mahrouss --- dev/kernel/src/UserProcessScheduler.cc | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'dev/kernel/src/UserProcessScheduler.cc') diff --git a/dev/kernel/src/UserProcessScheduler.cc b/dev/kernel/src/UserProcessScheduler.cc index 2306d3e4..ac25c3d8 100644 --- a/dev/kernel/src/UserProcessScheduler.cc +++ b/dev/kernel/src/UserProcessScheduler.cc @@ -581,17 +581,13 @@ ErrorOr UserProcessHelper::TheCurrentPID() { /// @retval true can be schedulded. /// @retval false cannot be schedulded. Bool UserProcessHelper::CanBeScheduled(const USER_PROCESS& process) { + if (process.Affinity == AffinityKind::kRealTime) return Yes; + if (process.Status != ProcessStatusKind::kRunning) return No; if (process.Affinity == AffinityKind::kInvalid) return No; if (process.StackSize > kSchedMaxStackSz) return No; if (!process.Name[0]) return No; - - // real time processes shouldn't wait that much. - if (process.Affinity == AffinityKind::kRealTime) return Yes; - - if (process.Signal.SignalID == sig_generate_unique()) { - return No; - } + if (process.Signal.SignalID == sig_generate_unique()) return No; return process.PTime < 1; } -- cgit v1.2.3