kernel/sched/ext.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)
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@linux.dev>
---
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);
--
2.17.1
Applied to sched_ext/for-6.19-fixes with the Fixes tag (and trailing comma) dropped. Thanks. -- tejun
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@linux.dev>
The change seems reasonable, but why is there a fixes up? This is
followup cleanup, the original patch is perfectly fine.
> ---
> 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);
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@linux.dev>
>
> 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@etsalapatis.com>
>> ---
>> 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);
On Mon, Dec 15, 2025 at 07:29:40PM +0800, 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()"),
nit: drop the comma at the end of the line.
Apart than that, looks good to me, thanks for the cleanup.
Reviewed-by: Andrea Righi <arighi@nvidia.com>
-Andrea
> Signed-off-by: Zqiang <qiang.zhang@linux.dev>
> ---
> 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);
> --
> 2.17.1
>
© 2016 - 2025 Red Hat, Inc.