mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Kayra Cizmeci <kayracizmeci@gmail.com>
To: vincent.guittot@linaro.org
Cc: arighi@nvidia.com, bsegall@google.com, changwoo@igalia.com,
	christian.loehle@arm.com, dietmar.eggemann@arm.com,
	juri.lelli@redhat.com, kayracizmeci@gmail.com,
	kprateek.nayak@amd.com, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org, lukasz.luba@arm.com, mgorman@suse.de,
	mingo@redhat.com, peterz@infradead.org, pierre.gondois@arm.com,
	qyousef@layalina.io, rafael@kernel.org, rostedt@goodmis.org,
	sched-ext@lists.linux.dev, sshegde@linux.ibm.com, tj@kernel.org,
	void@manifault.com, vschneid@redhat.com
Subject: Re: [PATCH 10/18 v2] sched/fair: Add force push task mechanism for fair
Date: Sun, 11 Oct 2026 20:40:38 +0300	[thread overview]
Message-ID: <20261011174038.5334-1-kayracizmeci@gmail.com> (raw)
In-Reply-To: <CAKfTPtCAbreGDhesDmFNvXEzjj+anmOH1=jqT-1B6Lfj0FfPqw@mail.gmail.com>

> >
> > On Fri, 9 Oct 2026 at 07:53, Kayra Cizmeci <kayracizmeci@gmail.com> wrote:
> > >
> > > >       task_tick_cache(rq, curr);
> > > >
> > > > -     update_misfit_status(curr, rq);
> > > > -     check_update_overutilized_status(task_rq(curr));
> > > > +     if (!tick_pushable_task(curr, rq, rf)) {
> > > > +             update_misfit_status(curr, rq);
> > > > +             check_update_overutilized_status(task_rq(curr));
> > > > +     }
> > > >
> > > >       task_tick_core(rq, curr);
> > > >  }
> > >
> > > Hm.
> > >
> > > I think this mechanism added on here does not works.
> >
> > Ah yes, while factorizing the code, I removed this main diff between
> > tick and put events

> In fact this is on purpose.
> fair_check_pushable_task() is the function that is called to decide
> wether we try to push or not a task. In the case of short task, we
> will not push a task that is already alone on the rq

I'm confused. So, is the added tick push mechanism not working at all
on purpose? For future use or something IDK.

Before the fair_check_pushable_task call on tick_pushable_task():

if (rq->nr_running > 1)
	return false;

So now at the rest of the function, nr_running have to be equal or smaller than 1.

We call fair_check_pushable_task() with next = NULL.

There are only 2 paths that can return true, one of them requires next to be true,
so it never works. The other one:

if (check_pushable_short_task(rq, p))
	return true;

And check_pushable_short_task() does this:

if (cfs_rq->h_nr_runnable <= 1)
	return false;

As I know, h_nr_runnable should be smaller than (or equal maybe) to nr_running.

nr_running can be 1 max, so if h_nr_runnable can't pass nr_running it will
always be smaller or equal to 1.

Maybe I'm missing something from the start :-)

Thanks,

Kayra


  reply	other threads:[~2026-10-11 17:40 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-02 15:43 [PATCH 00/18 v2] Improving latency of short slice tasks Vincent Guittot
2026-10-02 15:43 ` [PATCH 01/18 v2] sched/eevdf: Decay positive lag of sleeping entities Vincent Guittot
2026-10-02 15:43 ` [PATCH 02/18] sched/eevdf: Reset lag when waking up on idle cpu Vincent Guittot
2026-10-04 17:30   ` Kayra Cizmeci
2026-10-09 13:35     ` Vincent Guittot
2026-10-02 15:44 ` [PATCH 03/18 v2] sched/eevdf: Add per cpu cached min_slice Vincent Guittot
2026-10-02 15:44 ` [PATCH 04/18 v2] sched/eevdf: Compare min slice during wake_affine Vincent Guittot
2026-10-05 15:58   ` Kayra Cizmeci
2026-10-02 15:44 ` [PATCH 05/18 v2] sched/eevdf: Add min slice check when selecting CPU Vincent Guittot
2026-10-04 19:18   ` Kayra Cizmeci
2026-10-02 15:44 ` [PATCH 06/18 v2] sched/fair: Prepare select_task_rq_fair() to be called for new cases Vincent Guittot
2026-10-06 22:25   ` Tim Chen
2026-10-09 13:36     ` Vincent Guittot
2026-10-02 15:44 ` [PATCH 07/18] sched/fair: Add push task mechanism for fair Vincent Guittot
2026-10-07  2:45   ` Chen Yu
2026-10-09 13:38     ` Vincent Guittot
2026-10-09 14:31     ` Vincent Guittot
2026-10-10 15:42       ` Chen Yu
2026-10-12  9:18         ` Vincent Guittot
2026-10-12 14:06   ` Shrikanth Hegde
2026-10-02 15:44 ` [PATCH 08/18] sched/fair: Optimize " Vincent Guittot
2026-10-02 15:44 ` [PATCH 09/18 v2] sched/core: Add rq flag to tick parameters Vincent Guittot
2026-10-02 15:44 ` [PATCH 10/18 v2] sched/fair: Add force push task mechanism for fair Vincent Guittot
2026-10-06 19:24   ` Kayra Cizmeci
2026-10-09 14:01     ` Vincent Guittot
2026-10-09  5:53   ` Kayra Cizmeci
2026-10-09 14:04     ` Vincent Guittot
2026-10-09 14:47       ` Vincent Guittot
2026-10-11 17:40         ` Kayra Cizmeci [this message]
2026-10-12  8:18           ` Vincent Guittot
2026-10-12 13:40             ` Kayra Cizmeci
2026-10-02 15:44 ` [PATCH 11/18 v2] sched/fair: Support not wakeup case in select_idle_sibling Vincent Guittot
2026-10-07 17:55   ` Tim Chen
2026-10-09 14:06     ` Vincent Guittot
2026-10-02 15:44 ` [PATCH 12/18 v2] sched/eevdf: Try to push short slice task on a better CPU Vincent Guittot
2026-10-02 15:44 ` [PATCH 13/18 v2] sched/eevdf: Push short slice task that are not picked Vincent Guittot
2026-10-02 15:44 ` [PATCH 14/18 v2] sched/fair: Enable push task for preempt short Vincent Guittot
2026-10-09 11:16   ` Kayra Cizmeci
2026-10-09 14:07     ` Vincent Guittot
2026-10-02 15:44 ` [PATCH 15/18 v2] energy model: Add a get previous state function Vincent Guittot
2026-10-02 15:44 ` [PATCH 16/18 v2] sched/fair: Rework feec() to use cost instead of spare capacity Vincent Guittot
2026-10-02 15:44 ` [PATCH 17/18 v2] energy model: Remove unused em_cpu_energy() Vincent Guittot
2026-10-02 15:44 ` [PATCH 18/18 v2] sched/fair: Take into account slice in EAS Vincent Guittot
2026-10-07 14:36   ` Kayra Cizmeci
2026-10-08 22:53   ` Tim Chen
2026-10-09  6:31     ` Kayra Cizmeci
2026-10-09 14:17     ` Vincent Guittot
2026-10-08 19:12 ` [PATCH 00/18 v2] Improving latency of short slice tasks Kayra Cizmeci
2026-10-09 14:56   ` Vincent Guittot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261011174038.5334-1-kayracizmeci@gmail.com \
    --to=kayracizmeci@gmail.com \
    --cc=arighi@nvidia.com \
    --cc=bsegall@google.com \
    --cc=changwoo@igalia.com \
    --cc=christian.loehle@arm.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=juri.lelli@redhat.com \
    --cc=kprateek.nayak@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=lukasz.luba@arm.com \
    --cc=mgorman@suse.de \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=pierre.gondois@arm.com \
    --cc=qyousef@layalina.io \
    --cc=rafael@kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=sched-ext@lists.linux.dev \
    --cc=sshegde@linux.ibm.com \
    --cc=tj@kernel.org \
    --cc=vincent.guittot@linaro.org \
    --cc=void@manifault.com \
    --cc=vschneid@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®