From 07fc8a5562b9a0a8793446af6bc4e4edee65e4dc Mon Sep 17 00:00:00 2001 From: kamkow1 Date: Tue, 11 Nov 2025 22:07:58 +0100 Subject: [PATCH] Remove sched_ticks, move proc_reaper() out to proc_tick() function --- kernel/proc/proc.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/kernel/proc/proc.c b/kernel/proc/proc.c index 1552684..edaf2de 100644 --- a/kernel/proc/proc.c +++ b/kernel/proc/proc.c @@ -21,10 +21,7 @@ #include "errors.h" #include "kprintf.h" -#define PROC_REAPER_FREQ 30 - uint64_t pids = 0; -uint64_t sched_ticks = 0; Procs PROCS; @@ -223,17 +220,18 @@ void proc_reaper(void) { spinlock_release(&PROCS.spinlock); } +void proc_tick(void) { + proc_reaper(); +} + void proc_sched(void *cpustate) { intr_disable(); - sched_ticks++; memcpy(&PROCS.current->platformdata.trapframe, cpustate, sizeof(IntrStackFrame)); PROCS.current = proc_nextready(); - - if (sched_ticks % PROC_REAPER_FREQ == 0) { - proc_reaper(); - } + + proc_tick(); tss.rsp0 = (uint64_t)VIRT(PROCS.current->platformdata.kstack); proc_switch(&PROCS.current->platformdata.trapframe, (void *)PROCS.current->platformdata.cr3);