Re: [PATCHSET v2 sched_ext/for-6.16] sched_ext: Introduce scx_sched

Andrea Righi
2025-04-28T20:58:44Z

Hi Tejun,

On Fri, Apr 25, 2025 at 11:58:15AM -1000, Tejun Heo wrote:
> v[1] -> v2:
>
> - 0003-sched_ext-Use-dynamic-allocation-for-scx_sched.patch updated to store
> scx_sched pointer in sched_ext_ops->priv so that bpf_scx_unreg() can
> determine the scx_sched to destroy regardless of where initialization
> failed. This will also help with supporting multiple schedulers.
>
> - Minor updates to 0010-sched_ext-Move-event_stats_cpu-into-scx_sched.patch.
>
> In preparation of supporting multiple hierarchical schedulers, this patchset
> packages the states which are currently global but need to become per
> scheduler instance into the new struct scx_sched.
>
> Currently, the only supported scheduler instance is the system-wide root one
> (scx_root) and the code assumes scx_root in many places. A follow-up
> patchset will introduce multiple scheduler support scrutinizing and updating
> each such occurrence appropriately.
>
> There's significant amount of churning but most changes are straightforward
> if not trivial, and no user visible changes are expected.
>
> 0001-sched_ext-Introduce-scx_sched.patch
> 0002-sched_ext-Avoid-NULL-scx_root-deref-through-SCX_HAS_.patch
> 0003-sched_ext-Use-dynamic-allocation-for-scx_sched.patch
> 0004-sched_ext-Inline-create_dsq-into-scx_bpf_create_dsq.patch
> 0005-sched_ext-Factor-out-scx_alloc_and_add_sched.patch
> 0006-sched_ext-Move-dsq_hash-into-scx_sched.patch
> 0007-sched_ext-Move-global_dsqs-into-scx_sched.patch
> 0008-sched_ext-Relocate-scx_event_stats-definition.patch
> 0009-sched_ext-Factor-out-scx_read_events.patch
> 0010-sched_ext-Move-event_stats_cpu-into-scx_sched.patch
> 0011-sched_ext-Move-disable-machinery-into-scx_sched.patch
> 0012-sched_ext-Clean-up-SCX_EXIT_NONE-handling-in-scx_dis.patch

With v2 of PATCH 06 everything looks good now.

Reviewed-by: Andrea Righi <arighi@nvidia.com>

Thanks,
-Andrea

>
> and is also available in the following git branch:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git scx_sched-v2
>
> diffstat follows. Thanks.
>
> kernel/sched/ext.c | 892 ++++++++++++++++++++++++++----------------------
> kernel/sched/ext_idle.c | 3
> 2 files changed, 496 insertions(+), 399 deletions(-)
>
> --
> tejun
>
> [1] http://lkml.kernel.org/r/20250423234542.1890867-1-tj@kernel.org