From af3ecceecf35a603b21e03f5062241695b438273 Mon Sep 17 00:00:00 2001
From: Armin Luntzer <armin.luntzer@univie.ac.at>
Date: Wed, 20 Nov 2019 14:24:15 +0100
Subject: [PATCH] SCHED: do not set tasks back to RUN state if they come out of
 their        time slice in a state other than BUSY

---
 kernel/sched/core.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 55cf009..0bc8ae5 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -43,7 +43,9 @@ static void sched_update_runtime(struct task_struct *task, ktime now)
 
 	task->runtime = ktime_sub(task->runtime, rt);
 	task->total   = ktime_add(task->total, rt);
-	task->state   = TASK_RUN;
+
+	if (task->state == TASK_BUSY)
+		task->state  = TASK_RUN;
 }
 
 /**
-- 
GitLab