All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Righi <arighi@nvidia.com>
To: Tejun Heo <tj@kernel.org>
Cc: linux-kernel@vger.kernel.org,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Juri Lelli <juri.lelli@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	David Vernet <void@manifault.com>,
	Changwoo Min <changwoo@igalia.com>,
	Emil Tsalapatis <emil@etsalapatis.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	sched-ext@lists.linux.dev
Subject: Re: [PATCH v2 sched_ext/for-7.2] sched_ext: Move sources under kernel/sched/ext/
Date: Sun, 21 Jun 2026 21:09:21 +0200	[thread overview]
Message-ID: <ajg24WhH5kK-oc4t@gpd4> (raw)
In-Reply-To: <20260621183444.485350-1-tj@kernel.org>

Hi Tejun,

On Sun, Jun 21, 2026 at 08:34:44AM -1000, Tejun Heo wrote:
> The sched_ext sources had grown to ten ext* files directly under
> kernel/sched/. Move them into a new kernel/sched/ext/ subdirectory and drop
> the now-redundant ext_ prefix. ext.c/h keep their names.
> 
>   kernel/sched/ext.{c,h}       -> kernel/sched/ext/ext.{c,h}
>   kernel/sched/ext_internal.h  -> kernel/sched/ext/internal.h
>   kernel/sched/ext_types.h     -> kernel/sched/ext/types.h
>   kernel/sched/ext_idle.{c,h}  -> kernel/sched/ext/idle.{c,h}
>   kernel/sched/ext_cid.{c,h}   -> kernel/sched/ext/cid.{c,h}
>   kernel/sched/ext_arena.{c,h} -> kernel/sched/ext/arena.{c,h}
> 
> The include paths in build_policy.c and sched.h, the MAINTAINERS glob, and a
> few documentation and comment references are updated to match. No code or
> symbol changes.
> 
> Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
> Signed-off-by: Tejun Heo <tj@kernel.org>

Looks good to me. I also double checked for any potential stale references after
the rename, but couldn't find any.

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

Thanks,
-Andrea

> ---
> v2: Update two ext_cid.c comment references the rename missed in cid.h and
>     ext.c (sashiko AI).
> 
> I'm applying this to sched_ext/for-7.2 and sending it to Linus before the
> merge window closes so that for-7.2-fixes and for-7.3 don't diverge
> unnecessarily.
> 
> Thanks.
> 
>  Documentation/scheduler/sched-ext.rst          |  8 ++++----
>  MAINTAINERS                                    |  2 +-
>  kernel/sched/build_policy.c                    | 18 +++++++++---------
>  kernel/sched/{ext_arena.c => ext/arena.c}      |  0
>  kernel/sched/{ext_arena.h => ext/arena.h}      |  0
>  kernel/sched/{ext_cid.c => ext/cid.c}          |  2 +-
>  kernel/sched/{ext_cid.h => ext/cid.h}          |  2 +-
>  kernel/sched/{ => ext}/ext.c                   |  4 ++--
>  kernel/sched/{ => ext}/ext.h                   |  0
>  kernel/sched/{ext_idle.c => ext/idle.c}        |  0
>  kernel/sched/{ext_idle.h => ext/idle.h}        |  0
>  .../sched/{ext_internal.h => ext/internal.h}   |  0
>  kernel/sched/{ext_types.h => ext/types.h}      |  0
>  kernel/sched/sched.h                           |  2 +-
>  tools/sched_ext/include/scx/cid.bpf.h          |  6 +++---
>  15 files changed, 22 insertions(+), 22 deletions(-)
>  rename kernel/sched/{ext_arena.c => ext/arena.c} (100%)
>  rename kernel/sched/{ext_arena.h => ext/arena.h} (100%)
>  rename kernel/sched/{ext_cid.c => ext/cid.c} (99%)
>  rename kernel/sched/{ext_cid.h => ext/cid.h} (99%)
>  rename kernel/sched/{ => ext}/ext.c (99%)
>  rename kernel/sched/{ => ext}/ext.h (100%)
>  rename kernel/sched/{ext_idle.c => ext/idle.c} (100%)
>  rename kernel/sched/{ext_idle.h => ext/idle.h} (100%)
>  rename kernel/sched/{ext_internal.h => ext/internal.h} (100%)
>  rename kernel/sched/{ext_types.h => ext/types.h} (100%)
> 
> diff --git a/Documentation/scheduler/sched-ext.rst b/Documentation/scheduler/sched-ext.rst
> index c4f59c08d8a4..4b1ffd03f516 100644
> --- a/Documentation/scheduler/sched-ext.rst
> +++ b/Documentation/scheduler/sched-ext.rst
> @@ -114,7 +114,7 @@ Each running scheduler also exposes a per-scheduler ``events`` file under
>      SCX_EV_INSERT_NOT_OWNED 0
>      SCX_EV_SUB_BYPASS_DISPATCH 0
>  
> -The counters are described in ``kernel/sched/ext_internal.h``; briefly:
> +The counters are described in ``kernel/sched/ext/internal.h``; briefly:
>  
>  * ``SCX_EV_SELECT_CPU_FALLBACK``: ops.select_cpu() returned a CPU unusable by
>    the task and the core scheduler silently picked a fallback CPU.
> @@ -496,11 +496,11 @@ Where to Look
>  * ``include/linux/sched/ext.h`` defines the core data structures, ops table
>    and constants.
>  
> -* ``kernel/sched/ext.c`` contains sched_ext core implementation and helpers.
> +* ``kernel/sched/ext/ext.c`` contains sched_ext core implementation and helpers.
>    The functions prefixed with ``scx_bpf_`` can be called from the BPF
>    scheduler.
>  
> -* ``kernel/sched/ext_idle.c`` contains the built-in idle CPU selection policy.
> +* ``kernel/sched/ext/idle.c`` contains the built-in idle CPU selection policy.
>  
>  * ``tools/sched_ext/`` hosts example BPF scheduler implementations.
>  
> @@ -557,7 +557,7 @@ ABI Instability
>  The APIs provided by sched_ext to BPF schedulers programs have no stability
>  guarantees. This includes the ops table callbacks and constants defined in
>  ``include/linux/sched/ext.h``, as well as the ``scx_bpf_`` kfuncs defined in
> -``kernel/sched/ext.c`` and ``kernel/sched/ext_idle.c``.
> +``kernel/sched/ext/ext.c`` and ``kernel/sched/ext/idle.c``.
>  
>  While we will attempt to provide a relatively stable API surface when
>  possible, they are subject to change without warning between kernel
> diff --git a/MAINTAINERS b/MAINTAINERS
> index d95d3ef77773..ebd76d0367ef 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -24164,7 +24164,7 @@ S:	Maintained
>  W:	https://github.com/sched-ext/scx
>  T:	git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git
>  F:	include/linux/sched/ext.h
> -F:	kernel/sched/ext*
> +F:	kernel/sched/ext/
>  F:	tools/sched_ext/
>  F:	tools/testing/selftests/sched_ext
>  
> diff --git a/kernel/sched/build_policy.c b/kernel/sched/build_policy.c
> index 067979a7b69e..d74b54f81992 100644
> --- a/kernel/sched/build_policy.c
> +++ b/kernel/sched/build_policy.c
> @@ -61,15 +61,15 @@
>  # include <linux/btf_ids.h>
>  # include <linux/find.h>
>  # include <linux/genalloc.h>
> -# include "ext_types.h"
> -# include "ext_internal.h"
> -# include "ext_cid.h"
> -# include "ext_arena.h"
> -# include "ext_idle.h"
> -# include "ext.c"
> -# include "ext_cid.c"
> -# include "ext_arena.c"
> -# include "ext_idle.c"
> +# include "ext/types.h"
> +# include "ext/internal.h"
> +# include "ext/cid.h"
> +# include "ext/arena.h"
> +# include "ext/idle.h"
> +# include "ext/ext.c"
> +# include "ext/cid.c"
> +# include "ext/arena.c"
> +# include "ext/idle.c"
>  #endif
>  
>  #include "syscalls.c"
> diff --git a/kernel/sched/ext_arena.c b/kernel/sched/ext/arena.c
> similarity index 100%
> rename from kernel/sched/ext_arena.c
> rename to kernel/sched/ext/arena.c
> diff --git a/kernel/sched/ext_arena.h b/kernel/sched/ext/arena.h
> similarity index 100%
> rename from kernel/sched/ext_arena.h
> rename to kernel/sched/ext/arena.h
> diff --git a/kernel/sched/ext_cid.c b/kernel/sched/ext/cid.c
> similarity index 99%
> rename from kernel/sched/ext_cid.c
> rename to kernel/sched/ext/cid.c
> index 66944a7ef79d..aeaea88f34c5 100644
> --- a/kernel/sched/ext_cid.c
> +++ b/kernel/sched/ext/cid.c
> @@ -71,7 +71,7 @@ static s32 scx_cid_arrays_alloc(void)
>   * scx_cid_init - build the cid mapping
>   * @sch: the scx_sched being initialized; used as the scx_error() target
>   *
> - * See "Topological CPU IDs" in ext_cid.h for the model. Walk online cpus by
> + * See "Topological CPU IDs" in cid.h for the model. Walk online cpus by
>   * intersection at each level (parent_scratch & this_level_mask), which keeps
>   * containment correct by construction and naturally splits a physical LLC
>   * straddling two NUMA nodes into two LLC units. The caller must hold
> diff --git a/kernel/sched/ext_cid.h b/kernel/sched/ext/cid.h
> similarity index 99%
> rename from kernel/sched/ext_cid.h
> rename to kernel/sched/ext/cid.h
> index 5745e5785e89..6e657fd147b0 100644
> --- a/kernel/sched/ext_cid.h
> +++ b/kernel/sched/ext/cid.h
> @@ -43,7 +43,7 @@ struct scx_sched;
>   * possible-but-not-online cpus and carries all-(-1) topo info (see
>   * scx_cid_topo); callers detect it via the -1 sentinels.
>   *
> - * See the comment above the table definitions in ext_cid.c for the
> + * See the comment above the table definitions in cid.c for the
>   * memory-ordering and visibility contract.
>   */
>  extern s16 *scx_cid_to_cpu_tbl;
> diff --git a/kernel/sched/ext.c b/kernel/sched/ext/ext.c
> similarity index 99%
> rename from kernel/sched/ext.c
> rename to kernel/sched/ext/ext.c
> index 0db6fa2daea3..00fe6cc6d7e2 100644
> --- a/kernel/sched/ext.c
> +++ b/kernel/sched/ext/ext.c
> @@ -513,7 +513,7 @@ do {										\
>  } while (0)
>  
>  /*
> - * Flipped on enable per sch->is_cid_type. Declared in ext_internal.h so
> + * Flipped on enable per sch->is_cid_type. Declared in internal.h so
>   * subsystem inlines can read it.
>   */
>  DEFINE_STATIC_KEY_FALSE(__scx_is_cid_type);
> @@ -608,7 +608,7 @@ do {										\
>   * @cpumask: new cpumask
>   *
>   * For cid-form schedulers, translate @cpumask to a cmask via the per-cpu
> - * scratch in ext_cid.c and dispatch through the ops_cid union view. Caller
> + * scratch in cid.c and dispatch through the ops_cid union view. Caller
>   * must hold @rq's rq lock so this_cpu_ptr is stable across the call.
>   */
>  static inline void scx_call_op_set_cpumask(struct scx_sched *sch, struct rq *rq,
> diff --git a/kernel/sched/ext.h b/kernel/sched/ext/ext.h
> similarity index 100%
> rename from kernel/sched/ext.h
> rename to kernel/sched/ext/ext.h
> diff --git a/kernel/sched/ext_idle.c b/kernel/sched/ext/idle.c
> similarity index 100%
> rename from kernel/sched/ext_idle.c
> rename to kernel/sched/ext/idle.c
> diff --git a/kernel/sched/ext_idle.h b/kernel/sched/ext/idle.h
> similarity index 100%
> rename from kernel/sched/ext_idle.h
> rename to kernel/sched/ext/idle.h
> diff --git a/kernel/sched/ext_internal.h b/kernel/sched/ext/internal.h
> similarity index 100%
> rename from kernel/sched/ext_internal.h
> rename to kernel/sched/ext/internal.h
> diff --git a/kernel/sched/ext_types.h b/kernel/sched/ext/types.h
> similarity index 100%
> rename from kernel/sched/ext_types.h
> rename to kernel/sched/ext/types.h
> diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
> index c7c2dea65edd..56acf502ba26 100644
> --- a/kernel/sched/sched.h
> +++ b/kernel/sched/sched.h
> @@ -4211,6 +4211,6 @@ DEFINE_CLASS(sched_change, struct sched_change_ctx *,
>  
>  DEFINE_CLASS_IS_UNCONDITIONAL(sched_change)
>  
> -#include "ext.h"
> +#include "ext/ext.h"
>  
>  #endif /* _KERNEL_SCHED_SCHED_H */
> diff --git a/tools/sched_ext/include/scx/cid.bpf.h b/tools/sched_ext/include/scx/cid.bpf.h
> index 9d89bb57e201..db247e42fb45 100644
> --- a/tools/sched_ext/include/scx/cid.bpf.h
> +++ b/tools/sched_ext/include/scx/cid.bpf.h
> @@ -1,6 +1,6 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
>  /*
> - * BPF-side helpers for cids and cmasks. See kernel/sched/ext_cid.h for the
> + * BPF-side helpers for cids and cmasks. See kernel/sched/ext/cid.h for the
>   * authoritative layout and semantics. The BPF-side helpers use the cmask_*
>   * naming (no scx_ prefix); cmask is the SCX bitmap type so the prefix is
>   * redundant in BPF code. Atomics use __sync_val_compare_and_swap and every
> @@ -33,7 +33,7 @@
>  #endif
>  
>  /*
> - * Mirrors SCX_CMASK_NR_WORDS in kernel/sched/ext_types.h. The u64 cast keeps
> + * Mirrors SCX_CMASK_NR_WORDS in kernel/sched/ext/types.h. The u64 cast keeps
>   * the +63 from wrapping when @nr_cids is near U32_MAX, so cmask_reframe()
>   * bounds-checking the result against alloc_words catches the overflow instead
>   * of seeing a small value.
> @@ -281,7 +281,7 @@ static __always_inline void cmask_zero(struct scx_cmask __arena *m)
>  
>  /*
>   * BPF_-prefixed to avoid colliding with the kernel's anonymous CMASK_OP_*
> - * enum in ext_cid.c, which is exported via BTF and reachable through
> + * enum in ext/cid.c, which is exported via BTF and reachable through
>   * vmlinux.h.
>   */
>  enum {
> -- 
> 2.54.0
> 

      reply	other threads:[~2026-06-21 19:09 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-21 16:30 [PATCH sched_ext/for-7.2] sched_ext: Move sources under kernel/sched/ext/ Tejun Heo
2026-06-21 16:39 ` sashiko-bot
2026-06-21 18:34 ` [PATCH v2 " Tejun Heo
2026-06-21 19:09   ` Andrea Righi [this message]

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=ajg24WhH5kK-oc4t@gpd4 \
    --to=arighi@nvidia.com \
    --cc=changwoo@igalia.com \
    --cc=emil@etsalapatis.com \
    --cc=juri.lelli@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=sched-ext@lists.linux.dev \
    --cc=tj@kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=vincent.guittot@linaro.org \
    --cc=void@manifault.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.