From 322d41a2b01d70462fd2fa6a96d70b06a423e78b Mon Sep 17 00:00:00 2001
From: AptRock327 <dominik032009@gmail.com>
Date: Mon, 22 Jul 2024 22:50:29 +0200
Subject: kernel: sched: Implement MLFQ

Implements the Multilevel Feedback Queue scheduling algorithm.

Signed-off-by: AptRock327 <dominik032009@gmail.com>
Signed-off-by: Ian Moffett <ian@osmora.org>
---
 sys/include/sys/proc.h  | 1 +
 sys/include/sys/sched.h | 1 +
 2 files changed, 2 insertions(+)

(limited to 'sys/include')

diff --git a/sys/include/sys/proc.h b/sys/include/sys/proc.h
index ed75f71..b9db603 100644
--- a/sys/include/sys/proc.h
+++ b/sys/include/sys/proc.h
@@ -56,6 +56,7 @@ struct proc {
     struct trapframe tf;
     struct pcb pcb;
     size_t priority;
+    bool rested;
     uint32_t flags;
     uintptr_t stack_base;
     TAILQ_ENTRY(proc) link;
diff --git a/sys/include/sys/sched.h b/sys/include/sys/sched.h
index 52ca1ba..829e57d 100644
--- a/sys/include/sys/sched.h
+++ b/sys/include/sys/sched.h
@@ -36,6 +36,7 @@
 #if defined(_KERNEL)
 
 void sched_init(void);
+void sched_yield(void);
 __dead void sched_enter(void);
 void sched_enqueue_td(struct proc *td);
 
-- 
cgit v1.2.3