Re: [PATCH 10/18 v2] sched/fair: Add force push task mechanism for fair

From: Vincent Guittot

Date: Fri Oct 09 2026 - 10:08:02 EST


On Tue, 6 Oct 2026 at 21:24, Kayra Cizmeci <kayracizmeci@xxxxxxxxx> wrote:
>
> > When the task is alone on the CPU, it's never put back in the enqueued
> > list; In this special case, we use the tick to run the check used to push
> > runnable task on a btter CPU.
>
> I love typos. Like, in here. 'btter'. I think it should be bitter. Like:
> "In this special case, we use the tick to run the check used to push runnable task on a bitter
> CPU."
> (Or maybe by a really low chance, it could be 'better' too. Maybe tho... :>)
>
> > +static int active_load_balance_cpu_stop(void *data);
> > +
> > +/*
> > + * See if the alone task running on the CPU should migrate on a better than
> > + * the local one.
> > + */
> > +static inline bool tick_pushable_task(struct task_struct *p, struct rq *rq, struct rq_flags *rf)
> > +{
> > + int new_cpu, cpu = cpu_of(rq);
> > +
> > + if (!sched_push_task_enabled())
> > + return false;
> > +
> > + if (!rf)
> > + return false;
> > +
> > + if (WARN_ON(!p))
> > + return false;
> > +
> > + if (WARN_ON(!task_current(rq, p)))
> > + return false;
> > +
>
> OK. So, this is called from task_tick_fair() and task_tick_fair() is
> called from sched_tick() with rq->donor. So on Proxy bla bla
> this could get true. Or maybe I'm missing something. Dunno.

good point


>
> NOTE: Some more places could have the same case. Again, dunno.
>
> I need more tea. And sleep for not having to drink that much tea.
>
> Thanks,
> Kayra :>