linux/tools/testing/selftests/sched_ext
Linus Torvalds 32b22538be Scheduler updates for v6.15:
[ Merge note, these two commits are identical:
 
    - f3fa0e40df ("sched/clock: Don't define sched_clock_irqtime as static key")
    - b9f2b29b94 ("sched: Don't define sched_clock_irqtime as static key")
 
   The first one is a cherry-picked version of the second, and the first one
   is already upstream. ]
 
 Core & fair scheduler changes:
 
   - Cancel the slice protection of the idle entity (Zihan Zhou)
   - Reduce the default slice to avoid tasks getting an extra tick
     (Zihan Zhou)
   - Force propagating min_slice of cfs_rq when {en,de}queue tasks
     (Tianchen Ding)
   - Refactor can_migrate_task() to elimate looping (I Hsin Cheng)
   - Add unlikey branch hints to several system calls (Colin Ian King)
   - Optimize current_clr_polling() on certain architectures (Yujun Dong)
 
 Deadline scheduler: (Juri Lelli)
 
   - Remove redundant dl_clear_root_domain call
   - Move dl_rebuild_rd_accounting to cpuset.h
 
 Uclamp:
 
   - Use the uclamp_is_used() helper instead of open-coding it (Xuewen Yan)
   - Optimize sched_uclamp_used static key enabling (Xuewen Yan)
 
 Scheduler topology support: (Juri Lelli)
 
   - Ignore special tasks when rebuilding domains
   - Add wrappers for sched_domains_mutex
   - Generalize unique visiting of root domains
   - Rebuild root domain accounting after every update
   - Remove partition_and_rebuild_sched_domains
   - Stop exposing partition_sched_domains_locked
 
 RSEQ: (Michael Jeanson)
 
   - Update kernel fields in lockstep with CONFIG_DEBUG_RSEQ=y
   - Fix segfault on registration when rseq_cs is non-zero
   - selftests: Add rseq syscall errors test
   - selftests: Ensure the rseq ABI TLS is actually 1024 bytes
 
 Membarriers:
 
   - Fix redundant load of membarrier_state (Nysal Jan K.A.)
 
 Scheduler debugging:
 
   - Introduce and use preempt_model_str() (Sebastian Andrzej Siewior)
   - Make CONFIG_SCHED_DEBUG unconditional (Ingo Molnar)
 
 Fixes and cleanups:
 
   - Always save/restore x86 TSC sched_clock() on suspend/resume
    (Guilherme G. Piccoli)
 
   - Misc fixes and cleanups (Thorsten Blum, Juri Lelli,
     Sebastian Andrzej Siewior)
 
 Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmfejsoRHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1ivkhAAwBF2tYRBS1oIHcC/OKK3JJoHVDp2LFbU
 9sm5S3ZlGD/Ns2fbpY+9A8UFgUFfjYiTSV7hvf2B9Vge0XSxTmMNFu/MdxLBbo9r
 w6GSeNcNDQKpjEGLkrmPFsa2fiYI4dmH0IzDbS9V2cNPk470QBKjAKXNPaSER691
 n2wLnQq+m5o4gXnPjnSz6RrrzisRnm2GOWnDV/iqR47pZFNlX2wWlo3s5r7//Hw0
 a+QfEfpgKehhy/VSDXmSAgpqnNffjc78yBV6LNoVUddwahnOWiQMS3XViOqgy5VO
 jUGBrzW+sKkdRMBppxwJ/0XWgHGC27amIgnU0ZE5u+eiUEu8H9qWl1cRCFxyeB0O
 8+WNfwmkH+FPWUdsn84kdePhSsZy6HfM6h44Xe0hx1V7tQXEXfbPzK3TnQg8Ktt1
 Ky6ctbZt4cGpqGQuIqvba21A/racrD/DgvB7mHeZksnqZoKTDwxhT/nlQGpuwPoy
 SJYd1ynFVJvfC69SwMdwnaglimvEZx1GfT0o5XtCMslY5NkWCou5u+e65WX7ccU5
 94wBCwI1/+KiFMJZp6TlPw07Q/Hsj9dDryxLc3OunU3zMVt3++1GZnBS/eb5FN1A
 5TlAEpxgH9c5Q4/XJFCvx21DrTVHSuIrR6naK91bgqHo0cEfaHGtO/ejPtJGSfxe
 YIFnnu1dhRw=
 =SuQE
 -----END PGP SIGNATURE-----

Merge tag 'sched-core-2025-03-22' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler updates from Ingo Molnar:
 "Core & fair scheduler changes:

   - Cancel the slice protection of the idle entity (Zihan Zhou)
   - Reduce the default slice to avoid tasks getting an extra tick
     (Zihan Zhou)
   - Force propagating min_slice of cfs_rq when {en,de}queue tasks
     (Tianchen Ding)
   - Refactor can_migrate_task() to elimate looping (I Hsin Cheng)
   - Add unlikey branch hints to several system calls (Colin Ian King)
   - Optimize current_clr_polling() on certain architectures (Yujun
     Dong)

  Deadline scheduler: (Juri Lelli)
   - Remove redundant dl_clear_root_domain call
   - Move dl_rebuild_rd_accounting to cpuset.h

  Uclamp:
   - Use the uclamp_is_used() helper instead of open-coding it (Xuewen
     Yan)
   - Optimize sched_uclamp_used static key enabling (Xuewen Yan)

  Scheduler topology support: (Juri Lelli)
   - Ignore special tasks when rebuilding domains
   - Add wrappers for sched_domains_mutex
   - Generalize unique visiting of root domains
   - Rebuild root domain accounting after every update
   - Remove partition_and_rebuild_sched_domains
   - Stop exposing partition_sched_domains_locked

  RSEQ: (Michael Jeanson)
   - Update kernel fields in lockstep with CONFIG_DEBUG_RSEQ=y
   - Fix segfault on registration when rseq_cs is non-zero
   - selftests: Add rseq syscall errors test
   - selftests: Ensure the rseq ABI TLS is actually 1024 bytes

  Membarriers:
   - Fix redundant load of membarrier_state (Nysal Jan K.A.)

  Scheduler debugging:
   - Introduce and use preempt_model_str() (Sebastian Andrzej Siewior)
   - Make CONFIG_SCHED_DEBUG unconditional (Ingo Molnar)

  Fixes and cleanups:
   - Always save/restore x86 TSC sched_clock() on suspend/resume
     (Guilherme G. Piccoli)
   - Misc fixes and cleanups (Thorsten Blum, Juri Lelli, Sebastian
     Andrzej Siewior)"

* tag 'sched-core-2025-03-22' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)
  cpuidle, sched: Use smp_mb__after_atomic() in current_clr_polling()
  sched/debug: Remove CONFIG_SCHED_DEBUG
  sched/debug: Remove CONFIG_SCHED_DEBUG from self-test config files
  sched/debug, Documentation: Remove (most) CONFIG_SCHED_DEBUG references from documentation
  sched/debug: Make CONFIG_SCHED_DEBUG functionality unconditional
  sched/debug: Make 'const_debug' tunables unconditional __read_mostly
  sched/debug: Change SCHED_WARN_ON() to WARN_ON_ONCE()
  rseq/selftests: Fix namespace collision with rseq UAPI header
  include/{topology,cpuset}: Move dl_rebuild_rd_accounting to cpuset.h
  sched/topology: Stop exposing partition_sched_domains_locked
  cgroup/cpuset: Remove partition_and_rebuild_sched_domains
  sched/topology: Remove redundant dl_clear_root_domain call
  sched/deadline: Rebuild root domain accounting after every update
  sched/deadline: Generalize unique visiting of root domains
  sched/topology: Wrappers for sched_domains_mutex
  sched/deadline: Ignore special tasks when rebuilding domains
  tracing: Use preempt_model_str()
  xtensa: Rely on generic printing of preemption model
  x86: Rely on generic printing of preemption model
  s390: Rely on generic printing of preemption model
  ...
2025-03-24 21:28:12 -07:00
..
.gitignore
Makefile selftests/sched_ext: Add NUMA-aware scheduler test 2025-02-26 08:49:02 -10:00
config sched/debug: Remove CONFIG_SCHED_DEBUG from self-test config files 2025-03-19 22:23:24 +01:00
create_dsq.bpf.c sched_ext: Fix function pointer type mismatches in BPF selftests 2024-10-24 06:56:17 -10:00
create_dsq.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
ddsp_bogus_dsq_fail.bpf.c selftests/sched_ext: fix build after renames in sched_ext API 2024-12-04 09:46:39 -10:00
ddsp_bogus_dsq_fail.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
ddsp_vtimelocal_fail.bpf.c selftests/sched_ext: fix build after renames in sched_ext API 2024-12-04 09:46:39 -10:00
ddsp_vtimelocal_fail.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
dsp_local_on.bpf.c sched_ext: selftests/dsp_local_on: Fix selftest on UP systems 2025-01-27 09:00:09 -10:00
dsp_local_on.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
enq_last_no_enq_fails.bpf.c sched_ext: Fix enq_last_no_enq_fails selftest 2024-10-25 12:20:29 -10:00
enq_last_no_enq_fails.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
enq_select_cpu_fails.bpf.c selftests/sched_ext: fix build after renames in sched_ext API 2024-12-04 09:46:39 -10:00
enq_select_cpu_fails.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
exit.bpf.c selftests/sched_ext: fix build after renames in sched_ext API 2024-12-04 09:46:39 -10:00
exit.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
exit_test.h
hotplug.bpf.c sched_ext: Fix function pointer type mismatches in BPF selftests 2024-10-24 06:56:17 -10:00
hotplug.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
hotplug_test.h
init_enable_count.bpf.c sched_ext: Fix function pointer type mismatches in BPF selftests 2024-10-24 06:56:17 -10:00
init_enable_count.c sched_ext: selftests: Fix grammar in tests description 2025-02-13 06:46:22 -10:00
maximal.bpf.c scx: Fix maximal BPF selftest prog 2024-12-10 20:30:50 -10:00
maximal.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
maybe_null.bpf.c sched_ext: Fix function pointer type mismatches in BPF selftests 2024-10-24 06:56:17 -10:00
maybe_null.c sched_ext: selftests: Fix grammar in tests description 2025-02-13 06:46:22 -10:00
maybe_null_fail_dsp.bpf.c sched_ext: Fix function pointer type mismatches in BPF selftests 2024-10-24 06:56:17 -10:00
maybe_null_fail_yld.bpf.c sched_ext: Fix function pointer type mismatches in BPF selftests 2024-10-24 06:56:17 -10:00
minimal.bpf.c
minimal.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
numa.bpf.c selftests/sched_ext: Add NUMA-aware scheduler test 2025-02-26 08:49:02 -10:00
numa.c selftests/sched_ext: Add NUMA-aware scheduler test 2025-02-26 08:49:02 -10:00
prog_run.bpf.c sched_ext: Fix function pointer type mismatches in BPF selftests 2024-10-24 06:56:17 -10:00
prog_run.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
reload_loop.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
runner.c sched_ext: Add option -l in selftest runner to list all available tests 2025-01-07 09:42:30 -10:00
scx_test.h
select_cpu_dfl.bpf.c selftests/sched_ext: fix build after renames in sched_ext API 2024-12-04 09:46:39 -10:00
select_cpu_dfl.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
select_cpu_dfl_nodispatch.bpf.c selftests/sched_ext: fix build after renames in sched_ext API 2024-12-04 09:46:39 -10:00
select_cpu_dfl_nodispatch.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
select_cpu_dispatch.bpf.c selftests/sched_ext: fix build after renames in sched_ext API 2024-12-04 09:46:39 -10:00
select_cpu_dispatch.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
select_cpu_dispatch_bad_dsq.bpf.c selftests/sched_ext: fix build after renames in sched_ext API 2024-12-04 09:46:39 -10:00
select_cpu_dispatch_bad_dsq.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
select_cpu_dispatch_dbl_dsp.bpf.c selftests/sched_ext: fix build after renames in sched_ext API 2024-12-04 09:46:39 -10:00
select_cpu_dispatch_dbl_dsp.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
select_cpu_vtime.bpf.c selftests/sched_ext: fix build after renames in sched_ext API 2024-12-04 09:46:39 -10:00
select_cpu_vtime.c selftests/sched_ext: Fix enum resolution 2025-01-24 08:09:52 -10:00
test_example.c
util.c
util.h