Re: [PATCH] sched_ext: Remove unused code in the do_pick_task_scx()

From: Emil Tsalapatis

Date: Mon Dec 15 2025 - 10:06:46 EST


On Mon Dec 15, 2025 at 10:05 AM EST, Emil Tsalapatis wrote:
> On Mon Dec 15, 2025 at 6:29 AM EST, Zqiang wrote:
>> The kick_idle variable is no longer used, this commit therefore remove
>> it and also remove associated code in the do_pick_task_scx().
>>
>> Fixes: 4c95380701f5 ("sched/ext: Fold balance_scx() into pick_task_scx()"),
>> Signed-off-by: Zqiang <qiang.zhang@xxxxxxxxx>
>
> The change seems reasonable, but why is there a fixes up? This is
> followup cleanup, the original patch is perfectly fine.
>

Oh and of course tag aside:

Reviewed-by: Emil Tsalapatis <emil@xxxxxxxxxxxxxxx>

>> ---
>> kernel/sched/ext.c | 8 ++------
>> 1 file changed, 2 insertions(+), 6 deletions(-)
>>
>> diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c
>> index 695503a2f7d1..94164f2dec6d 100644
>> --- a/kernel/sched/ext.c
>> +++ b/kernel/sched/ext.c
>> @@ -2446,7 +2446,7 @@ static struct task_struct *
>> do_pick_task_scx(struct rq *rq, struct rq_flags *rf, bool force_scx)
>> {
>> struct task_struct *prev = rq->curr;
>> - bool keep_prev, kick_idle = false;
>> + bool keep_prev;
>> struct task_struct *p;
>>
>> /* see kick_cpus_irq_workfn() */
>> @@ -2488,12 +2488,8 @@ do_pick_task_scx(struct rq *rq, struct rq_flags *rf, bool force_scx)
>> refill_task_slice_dfl(rcu_dereference_sched(scx_root), p);
>> } else {
>> p = first_local_task(rq);
>> - if (!p) {
>> - if (kick_idle)
>> - scx_kick_cpu(rcu_dereference_sched(scx_root),
>> - cpu_of(rq), SCX_KICK_IDLE);
>> + if (!p)
>> return NULL;
>> - }
>>
>> if (unlikely(!p->scx.slice)) {
>> struct scx_sched *sch = rcu_dereference_sched(scx_root);