linux/Documentation
Linus Torvalds 5bdb4078e1 sched_ext: Changes for v7.1
- Cgroup sub-scheduler groundwork. Multiple BPF schedulers can be
   attached to cgroups and the dispatch path is made hierarchical. This
   involves substantial restructuring of the core dispatch, bypass,
   watchdog, and dump paths to be per-scheduler, along with new
   infrastructure for scheduler ownership enforcement, lifecycle
   management, and cgroup subtree iteration. The enqueue path is not yet
   updated and will follow in a later cycle.
 
 - scx_bpf_dsq_reenq() generalized to support any DSQ including remote
   local DSQs and user DSQs. Built on top of this, SCX_ENQ_IMMED
   guarantees that tasks dispatched to local DSQs either run immediately
   or get reenqueued back through ops.enqueue(), giving schedulers tighter
   control over queueing latency. Also useful for opportunistic CPU
   sharing across sub-schedulers.
 
 - ops.dequeue() was only invoked when the core knew a task was in BPF
   data structures, missing scheduling property change events and skipping
   callbacks for non-local DSQ dispatches from ops.select_cpu(). Fixed to
   guarantee exactly one ops.dequeue() call when a task leaves BPF
   scheduler custody.
 
 - Kfunc access validation moved from runtime to BPF verifier time,
   removing runtime mask enforcement.
 
 - Idle SMT sibling prioritization in the idle CPU selection path.
 
 - Documentation, selftest, and tooling updates. Misc bug fixes and
   cleanups.
 
 - Merges from tip/sched-core, cgroup/for-7.1, and for-7.0-fixes to
   resolve dependencies and conflicts for the above changes.
 -----BEGIN PGP SIGNATURE-----
 
 iIQEABYKACwWIQTfIjM1kS57o3GsC/uxYfJx3gVYGQUCad0uaA4cdGpAa2VybmVs
 Lm9yZwAKCRCxYfJx3gVYGbktAQD2HrKdydyEfefz/n4mNpIXh/DFYX49NgKYcgUh
 sKy4ngD/Sy7nAZS2zwM+36PN6jBV7+cfuoaiKPgCstPFeGsvPwU=
 =fsgj
 -----END PGP SIGNATURE-----

Merge tag 'sched_ext-for-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext

Pull sched_ext updates from Tejun Heo:

 - cgroup sub-scheduler groundwork

   Multiple BPF schedulers can be attached to cgroups and the dispatch
   path is made hierarchical. This involves substantial restructuring of
   the core dispatch, bypass, watchdog, and dump paths to be
   per-scheduler, along with new infrastructure for scheduler ownership
   enforcement, lifecycle management, and cgroup subtree iteration

   The enqueue path is not yet updated and will follow in a later cycle

 - scx_bpf_dsq_reenq() generalized to support any DSQ including remote
   local DSQs and user DSQs

   Built on top of this, SCX_ENQ_IMMED guarantees that tasks dispatched
   to local DSQs either run immediately or get reenqueued back through
   ops.enqueue(), giving schedulers tighter control over queueing
   latency

   Also useful for opportunistic CPU sharing across sub-schedulers

 - ops.dequeue() was only invoked when the core knew a task was in BPF
   data structures, missing scheduling property change events and
   skipping callbacks for non-local DSQ dispatches from ops.select_cpu()

   Fixed to guarantee exactly one ops.dequeue() call when a task leaves
   BPF scheduler custody

 - Kfunc access validation moved from runtime to BPF verifier time,
   removing runtime mask enforcement

 - Idle SMT sibling prioritization in the idle CPU selection path

 - Documentation, selftest, and tooling updates. Misc bug fixes and
   cleanups

* tag 'sched_ext-for-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext: (134 commits)
  tools/sched_ext: Add explicit cast from void* in RESIZE_ARRAY()
  sched_ext: Make string params of __ENUM_set() const
  tools/sched_ext: Kick home CPU for stranded tasks in scx_qmap
  sched_ext: Drop spurious warning on kick during scheduler disable
  sched_ext: Warn on task-based SCX op recursion
  sched_ext: Rename scx_kf_allowed_on_arg_tasks() to scx_kf_arg_task_ok()
  sched_ext: Remove runtime kfunc mask enforcement
  sched_ext: Add verifier-time kfunc context filter
  sched_ext: Drop redundant rq-locked check from scx_bpf_task_cgroup()
  sched_ext: Decouple kfunc unlocked-context check from kf_mask
  sched_ext: Fix ops.cgroup_move() invocation kf_mask and rq tracking
  sched_ext: Track @p's rq lock across set_cpus_allowed_scx -> ops.set_cpumask
  sched_ext: Add select_cpu kfuncs to scx_kfunc_ids_unlocked
  sched_ext: Drop TRACING access to select_cpu kfuncs
  selftests/sched_ext: Fix wrong DSQ ID in peek_dsq error message
  sched_ext: Documentation: improve accuracy of task lifecycle pseudo-code
  selftests/sched_ext: Improve runner error reporting for invalid arguments
  sched_ext: Documentation: Fix scx_bpf_move_to_local kfunc name
  sched_ext: Documentation: Add ops.dequeue() to task lifecycle
  tools/sched_ext: Fix off-by-one in scx_sdt payload zeroing
  ...
History 2026-04-15 10:54:24 -07:00
..
ABI drm for v7.1-rc1 2026-04-15 08:45:00 -07:00
accel Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
accounting delayacct: add timestamp of delay max 2026-01-31 16:16:06 -08:00
admin-guide workqueue: Changes for v7.1 2026-04-15 10:32:08 -07:00
arch arm64 updates for 7.1: 2026-04-14 16:48:56 -07:00
block Documentation: ublk: address review comments for SHMEM_ZC docs 2026-04-09 19:10:44 -06:00
bpf docs/bpf: add missing fsession attach type to docs 2026-04-12 12:42:38 -07:00
cdrom Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
core-api workqueue: Changes for v7.1 2026-04-15 10:32:08 -07:00
cpu-freq cpufreq: Drop unused symbol CPUFREQ_ETERNAL 2025-10-01 13:57:22 +02:00
crypto This update includes the following changes: 2025-12-03 11:28:38 -08:00
dev-tools A busier cycle than I had expected for docs, including: 2026-04-14 08:47:08 -07:00
devicetree sound updates for 7.1-rc1 2026-04-15 09:20:49 -07:00
doc-guide docs: kernel-doc.rst: document private: scope propagation 2026-03-22 15:02:29 -06:00
driver-api workqueue: Changes for v7.1 2026-04-15 10:32:08 -07:00
edac cxl/edac: Add CXL memory device soft PPR control feature 2025-05-23 13:25:06 -07:00
fault-injection Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
fb Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
features documentation: update arch features 2026-02-23 14:40:56 -07:00
filesystems drm for v7.1-rc1 2026-04-15 08:45:00 -07:00
firmware-guide docs: fix 're-use' -> 'reuse' in documentation 2026-02-02 09:54:15 -07:00
firmware_class firmware: revamp firmware documentation 2017-01-11 09:42:59 +01:00
fpga Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
gpu DRM Rust changes for v7.1-rc1 2026-04-01 07:32:05 +10:00
hid Docs: hid: intel-ish-hid: make long URL usable 2026-04-09 08:40:41 -06:00
hwmon hwmon: (adm1177) fix sysfs ABI violation and current unit conversion 2026-03-25 06:50:13 -07:00
i2c Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
iio docs: iio: ad4062: Add GPIO Controller support 2025-12-31 17:59:25 +00:00
images docs: add SVG version of the Linux logo 2022-06-01 09:32:45 -06:00
infiniband Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
input docs: fix 're-use' -> 'reuse' in documentation 2026-02-02 09:54:15 -07:00
isdn Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
kbuild Modules changes for v7.1-rc1 2026-04-14 17:16:38 -07:00
kernel-hacking Documentation: kernel-hacking: Remove :c:func: annotations 2026-01-06 15:15:15 -07:00
leds docs: leds: Document TI LP5812 LED driver 2026-02-04 09:23:37 +00:00
litmus-tests Documentation/litmus-tests: Make cmpxchg() tests safe for klitmus 2024-05-06 14:29:21 -07:00
livepatch Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
locking Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
maintainer NFSD: Add a subsystem policy document 2025-11-16 18:20:11 -05:00
mhi Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
misc-devices TTY / Serial driver updates for 7.0-rc1 2026-02-17 09:30:52 -08:00
mm Documentation/mm/hwpoison.rst: fix typos and grammar. 2026-03-17 08:35:27 -06:00
netlabel Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
netlink drm for v7.1-rc1 2026-04-15 08:45:00 -07:00
networking netfilter pull request nf-next-26-04-10 2026-04-12 09:39:21 -07:00
nvdimm nvdimm: fixes to maintainter-entry-profile 2020-05-25 10:19:19 -06:00
nvme docs: nvme: fix grammar in nvme-pci-endpoint-target.rst 2025-07-17 13:38:07 +02:00
PCI PCI/TPH: Pass ACPI Processor UID to Cache Locality _DSM 2026-04-06 16:55:16 +02:00
pcmcia Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
peci Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
power power supply and reset changes for the 7.0 series 2026-02-12 18:24:37 -08:00
process [GIT PULL for v7.1] media updates 2026-04-15 08:32:10 -07:00
RCU rcu-tasks: Document that RCU Tasks Trace grace periods now imply RCU grace periods 2026-03-30 15:48:14 -04:00
rust docs: rust: general-information: use real example 2026-04-07 10:00:25 +02:00
scheduler sched_ext: Changes for v7.1 2026-04-15 10:54:24 -07:00
scsi SCSI misc on 20260212 2026-02-12 15:43:02 -08:00
security landlock: Control pathname UNIX domain socket resolution by path 2026-04-07 18:51:06 +02:00
sound ALSA: usb-audio: Add QUIRK_FLAG_MIXER_{PLAYBACK,CAPTURE}_LINEAR_VOL 2026-03-04 12:05:57 +01:00
sphinx docs: pt_BR: Add initial Portuguese translation 2026-02-23 14:16:07 -07:00
sphinx-includes Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
sphinx-static docs: allow long links to wrap per character to prevent page overflow 2026-03-25 13:22:02 -06:00
spi spi: Updates for v7.0 2026-02-11 09:43:43 -08:00
staging docs: Update documentation to avoid mentioning of kernel.h 2025-12-22 14:59:18 -07:00
sunrpc/xdr Add RPC language definition of NFSv4 POSIX ACL extension 2026-01-29 09:48:33 -05:00
target Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
tee Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
timers Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
tools Documentation/rtla: Convert links to RST format 2026-04-09 08:23:12 -06:00
trace tracing: Documentation: Update histogram-design.rst for fn() handling 2026-04-09 08:46:39 -06:00
translations docs/zh_CN: update rust/index.rst translation 2026-04-10 20:09:45 +08:00
usb USB / Thunderbolt changes for 7.0-rc1 2026-02-17 09:36:43 -08:00
userspace-api [GIT PULL for v7.1] media updates 2026-04-15 08:32:10 -07:00
virt Documentation: kvm: fix formatting of the quirks table 2026-03-11 19:16:52 +01:00
w1 Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
watchdog linux-watchdog 6.20-rc1 tag 2026-02-16 12:21:22 -08:00
wmi platform-drivers-x86 for v7.0-1 2026-02-13 15:39:15 -08:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
.renames.txt net: ethernet: neterion: s2io: remove unused driver 2026-01-28 20:08:07 -08:00
atomic_bitops.txt wait_on_bit: add an acquire memory barrier 2022-08-26 09:30:25 -07:00
atomic_t.txt Documentation/atomic_t: Emphasize that failed atomic operations give no ordering 2024-05-06 14:29:04 -07:00
Changes docs: add back 'Documentation/Changes' file (as symlink) 2016-12-14 16:30:12 -08:00
CodingStyle doc: re-add CodingStyle and SubmittingPatches 2016-10-24 08:12:35 -02:00
conf.py docs: use logo.svg as favicon 2026-03-22 15:27:43 -06:00
docutils.conf doc-rst: Add missing newline at end of file 2019-06-20 14:16:56 -06:00
index.rst docs: fix typo in firmware-related section 2025-05-07 00:53:22 -06:00
Kconfig docs: move get_abi.py to tools/docs 2025-10-28 16:01:20 -06:00
Makefile docs: Makefile: wrap SPHINXDIRS help text 2026-01-06 14:37:08 -07:00
memory-barriers.txt memory-barriers.txt: Sort wait_event* and wait_on_bit* list alphabetically 2025-11-08 19:02:26 -08:00
SubmittingPatches doc: re-add CodingStyle and SubmittingPatches 2016-10-24 08:12:35 -02:00
subsystem-apis.rst Documentation/EDAC: Fix warning document isn't included in any toctree 2025-04-01 22:26:47 +02:00