summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2026-06-22 18:32:54 +0300
committerTejun Heo <tj@kernel.org>2026-06-22 18:32:56 +0300
commitbba2c3615bd6cfee7456d1130f2e6b01b3f4e9ba (patch)
tree4bd939cfa89e8cc39ac1680a7e2f522ab270b0e4
parentef0c9f75a19532d7675384708fc8621e10850104 (diff)
downloadlinux-bba2c3615bd6cfee7456d1130f2e6b01b3f4e9ba.tar.xz
sched_ext: Move sources under kernel/sched/ext/
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> Reviewed-by: Andrea Righi <arighi@nvidia.com> Signed-off-by: Tejun Heo <tj@kernel.org>
-rw-r--r--Documentation/scheduler/sched-ext.rst8
-rw-r--r--MAINTAINERS2
-rw-r--r--kernel/sched/build_policy.c18
-rw-r--r--kernel/sched/ext/arena.c (renamed from kernel/sched/ext_arena.c)0
-rw-r--r--kernel/sched/ext/arena.h (renamed from kernel/sched/ext_arena.h)0
-rw-r--r--kernel/sched/ext/cid.c (renamed from kernel/sched/ext_cid.c)2
-rw-r--r--kernel/sched/ext/cid.h (renamed from kernel/sched/ext_cid.h)2
-rw-r--r--kernel/sched/ext/ext.c (renamed from kernel/sched/ext.c)4
-rw-r--r--kernel/sched/ext/ext.h (renamed from kernel/sched/ext.h)0
-rw-r--r--kernel/sched/ext/idle.c (renamed from kernel/sched/ext_idle.c)0
-rw-r--r--kernel/sched/ext/idle.h (renamed from kernel/sched/ext_idle.h)0
-rw-r--r--kernel/sched/ext/internal.h (renamed from kernel/sched/ext_internal.h)0
-rw-r--r--kernel/sched/ext/types.h (renamed from kernel/sched/ext_types.h)0
-rw-r--r--kernel/sched/sched.h2
-rw-r--r--tools/sched_ext/include/scx/cid.bpf.h6
15 files changed, 22 insertions, 22 deletions
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 @@ counters. Each counter occupies one ``name value`` line:
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 ba45953bb805..2d853aadd919 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
index 493c2424f842..493c2424f842 100644
--- a/kernel/sched/ext_arena.c
+++ b/kernel/sched/ext/arena.c
diff --git a/kernel/sched/ext_arena.h b/kernel/sched/ext/arena.h
index 4f3610160102..4f3610160102 100644
--- a/kernel/sched/ext_arena.h
+++ b/kernel/sched/ext/arena.h
diff --git a/kernel/sched/ext_cid.c b/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
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
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
index 0b7fc46aee08..0b7fc46aee08 100644
--- a/kernel/sched/ext.h
+++ b/kernel/sched/ext/ext.h
diff --git a/kernel/sched/ext_idle.c b/kernel/sched/ext/idle.c
index 2077373d8da3..2077373d8da3 100644
--- a/kernel/sched/ext_idle.c
+++ b/kernel/sched/ext/idle.c
diff --git a/kernel/sched/ext_idle.h b/kernel/sched/ext/idle.h
index 8d169d3bbdf9..8d169d3bbdf9 100644
--- a/kernel/sched/ext_idle.h
+++ b/kernel/sched/ext/idle.h
diff --git a/kernel/sched/ext_internal.h b/kernel/sched/ext/internal.h
index b04701190b23..b04701190b23 100644
--- a/kernel/sched/ext_internal.h
+++ b/kernel/sched/ext/internal.h
diff --git a/kernel/sched/ext_types.h b/kernel/sched/ext/types.h
index 8b3527e21fca..8b3527e21fca 100644
--- a/kernel/sched/ext_types.h
+++ b/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 {