From 6a00057817e2ca06b3c2a9c3786aa3d3138ac872 Mon Sep 17 00:00:00 2001 From: "Justin C. Miller" Date: Thu, 30 Jul 2020 19:11:51 -0700 Subject: [PATCH] [kernel] Remove process startup_bonus to timeslice Previously we added startup_bonus to work around a segfault happening when we preemted a newly created process instead of letting it give up the CPU. Bug is not longer occuring, though that makes me nervous. --- src/kernel/scheduler.cpp | 2 +- src/kernel/scheduler.h | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/kernel/scheduler.cpp b/src/kernel/scheduler.cpp index 1c0fa56..cb69c13 100644 --- a/src/kernel/scheduler.cpp +++ b/src/kernel/scheduler.cpp @@ -123,7 +123,7 @@ scheduler::create_process(page_table *pml4, bool user) thread *th = p->create_thread(default_priority, user); auto *tcb = th->tcb(); - tcb->time_left = quantum(default_priority) + startup_bonus; + tcb->time_left = quantum(default_priority); log::debug(logs::task, "Creating thread %llx, priority %d, time slice %d", th->koid(), tcb->priority, tcb->time_left); diff --git a/src/kernel/scheduler.h b/src/kernel/scheduler.h index efceeff..a42094c 100644 --- a/src/kernel/scheduler.h +++ b/src/kernel/scheduler.h @@ -33,9 +33,6 @@ public: /// How long the base timer quantum is, in us static const uint64_t quantum_micros = 500; - /// How much extra time (in us) to give a process to let it load - static const uint64_t startup_bonus = 16000; - /// How many quanta a process gets before being rescheduled static const uint16_t process_quanta = 10;