From: Tejun Heo Date: Tue, 6 Aug 2024 19:40:10 +0000 (-1000) Subject: sched_ext: Add scx_enabled() test to @start_class promotion in put_prev_task_balance() X-Git-Tag: v6.12-rc1~111^2~49 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd0144926836b8405966ca9d00f6425ef822fa4b;p=thirdparty%2Fkernel%2Fstable.git sched_ext: Add scx_enabled() test to @start_class promotion in put_prev_task_balance() SCX needs its balance() invoked even when waking up from a lower priority sched class (idle) and put_prev_task_balance() thus has the logic to promote @start_class if it's lower than ext_sched_class. This is only needed when SCX is enabled. Add scx_enabled() test to avoid unnecessary overhead when SCX is disabled. Signed-off-by: Tejun Heo Suggested-by: Peter Zijlstra Acked-by: David Vernet --- diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 38df84d5a9f6a..957c1a6626d27 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -5867,7 +5867,7 @@ static void put_prev_task_balance(struct rq *rq, struct task_struct *prev, * when waking up from SCHED_IDLE. If @start_class is below SCX, start * from SCX instead. */ - if (sched_class_above(&ext_sched_class, start_class)) + if (scx_enabled() && sched_class_above(&ext_sched_class, start_class)) start_class = &ext_sched_class; #endif