[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZvxXxT8Lc0u9dTLo@slm.duckdns.org>
Date: Tue, 1 Oct 2024 10:12:53 -1000
From: Tejun Heo <tj@...nel.org>
To: void@...ifault.com, peterz@...radead.org, mingo@...hat.com
Cc: kernel-team@...a.com, linux-kernel@...r.kernel.org, sched-ext@...a.com
Subject: Re: [PATCH 2/3] sched/core: Add ENQUEUE_RQ_SELECTED to indicate
whether ->select_task_rq() was called
On Fri, Sep 27, 2024 at 01:46:12PM -1000, Tejun Heo wrote:
> During ttwu, ->select_task_rq() can be skipped if only one CPU is allowed or
> migration is disabled. sched_ext schedulers may perform operations such as
> direct dispatch from ->select_task_rq() path and it is useful for them to
> know whether ->select_task_rq() was skipped in the ->enqueue_task() path.
>
> Currently, sched_ext schedulers are using ENQUEUE_WAKEUP for this purpose
> and end up assuming incorrectly that ->select_task_rq() was called for tasks
> that are bound to a single CPU or migration disabled.
>
> Make select_task_rq() indicate whether ->select_task_rq() was called by
> setting WF_RQ_SELECTED in *wake_flags and make ttwu_do_activate() map that
> to ENQUEUE_RQ_SELECTED for ->enqueue_task().
>
> This will be used by sched_ext to fix ->select_task_rq() skip detection.
Peter, ping on patches 1-2. If they look okay, I can route them through
sched_ext/for-6.12-fixes.
Thanks.
--
tejun
Powered by blists - more mailing lists