aboutsummaryrefslogtreecommitdiff
path: root/SOURCES/scx-kernel.patch
diff options
context:
space:
mode:
Diffstat (limited to 'SOURCES/scx-kernel.patch')
-rw-r--r--SOURCES/scx-kernel.patch10
1 files changed, 5 insertions, 5 deletions
diff --git a/SOURCES/scx-kernel.patch b/SOURCES/scx-kernel.patch
index 196bac1..504cde3 100644
--- a/SOURCES/scx-kernel.patch
+++ b/SOURCES/scx-kernel.patch
@@ -1340,7 +1340,7 @@ index f3951e4a55e5..c792a6feb7a9 100644
/*
* We must do the balancing pass before put_prev_task(), such
* that when we release the rq->lock the task is in the same
-@@ -5782,11 +5847,10 @@ static void put_prev_task_balance(struct rq *rq, struct task_struct *prev,
+@@ -5784,11 +5784,10 @@
* We can terminate the balance pass as soon as we know there is
* a runnable task of @class priority or higher.
*/
@@ -1353,7 +1353,7 @@ index f3951e4a55e5..c792a6feb7a9 100644
-#endif
put_prev_task(rq, prev);
- }
+
@@ -5800,6 +5864,9 @@ __pick_next_task(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)
const struct sched_class *class;
struct task_struct *p;
@@ -1364,9 +1364,9 @@ index f3951e4a55e5..c792a6feb7a9 100644
/*
* Optimization: we know that if all tasks are in the fair class we can
* call that function directly, but only if the @prev task wasn't of a
-@@ -5840,10 +5907,15 @@ __pick_next_task(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)
- if (prev->dl_server)
- prev->dl_server = NULL;
+@@ -5849,10 +5849,15 @@
+ restart:
+ put_prev_task_balance(rq, prev, rf);
- for_each_class(class) {
+ for_each_active_class(class) {