Re: [PATCH v5 sched_ext/for-7.3 16/33] sched_ext: Add sub_ecaps_updated() effective-cap change notifier

From: Tejun Heo

Date: Tue Jul 14 2026 - 04:08:24 EST


Hello, Andrea.

On Tue, Jul 14, 2026 at 08:00:56AM +0200, Andrea Righi wrote:
> This is a nit, so feel free to ignore. I was wondering if we could wait
> indefinitely in this loop if the target CPU never reaches balance_one().
> However, I think the only way to never trigger balance_one() is a higher class
> monopolizing the CPU, but this can't happen because of the ext dl_server.
>
> In that case, should we document this "dependency" here? Something like:
>
> /*
> * The active EXT deadline server guarantees that balance_one() eventually runs
> * even under sustained FAIR or RT load.
> */

The guarantee is weaker than that. The ext dl_server is armed only while
the rq has ext tasks queued, so an ext-idle cpu monopolized by a higher
class can prolong the wait.

Rather than documenting the dependency, the wait can be removed
altogether. llist can't unlink a single node but the list can be rebuilt
excluding the node being drained under the rq lock, the way
____active_del_barrier() in i915 does. Will follow up with that.

Thanks.

--
tejun