Messages in this thread |  | | Date | Tue, 27 May 2025 09:59:27 -1000 | | From | Tejun Heo <> | | Subject | [GIT PULL] sched_ext: Changes for v6.16 |
| |
The following changes since commit 428dc9fc0873989d73918d4a9cc22745b7bbc799:
sched_ext: bpf_iter_scx_dsq_new() should always initialize iterator (2025-05-07 06:24:07 -1000)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git/ tags/sched_ext-for-6.16
for you to fetch changes up to 273cc949655c70001778eb0b9e7db993df845912:
sched_ext: Call ops.update_idle() after updating builtin idle bits (2025-05-22 09:25:15 -1000)
---------------------------------------------------------------- sched_ext: Changes for v6.16
- More in-kernel idle CPU selection improvements. Expand topology awareness coverage add scx_bpf_select_cpu_and() to allow more flexibility. The idle CPU selection kfuncs can now be called from unlocked contexts too.
- A bunch of reorganization changes to lay the foundation for multiple hierarchical scheduler support. This isn't ready yet and the included changes don't make meaningful behavior differences. One notable change is replacing some static_key tests with dynamic tests as the test results may differ depending on the scheduler instance. This isn't expected to cause meaningful performance difference.
- Other minor and doc updates.
- There were multiple patches in for-6.15-fixes which conflicted with changes in for-6.16. for-6.15-fixes were pulled three times into for-6.16 to resolve the conflicts.
---------------------------------------------------------------- Andrea Righi (14): sched_ext: idle: Extend topology optimizations to all tasks sched_ext: idle: Explicitly pass allowed cpumask to scx_select_cpu_dfl() sched_ext: idle: Accept an arbitrary cpumask in scx_select_cpu_dfl() sched_ext: idle: Introduce scx_bpf_select_cpu_and() selftests/sched_ext: Add test for scx_bpf_select_cpu_and() sched_ext: Clarify CPU context for running/stopping callbacks sched_ext: Add RCU protection to scx_root in DSQ iterator sched_ext: Avoid NULL scx_root deref in __scx_exit() sched_ext: Make scx_kf_allowed_if_unlocked() available outside ext.c sched_ext: idle: Validate locking correctness in scx_bpf_select_cpu_and() sched_ext: idle: Allow scx_bpf_select_cpu_and() from unlocked context selftests/sched_ext: Add test for scx_bpf_select_cpu_and() via test_run sched_ext: idle: Consolidate default idle CPU selection kfuncs selftests/sched_ext: Update test enq_select_cpu_fails
Honglei Wang (2): sched_ext: change the variable name for slice refill event sched_ext: add helper for refill task with default slice
Jake Rice (1): Documentation: scheduler: Changed lowercase acronyms to uppercase
Shashank Balaji (2): sched_ext, docs: add label sched_ext, docs: convert mentions of "CFS" to "fair-class scheduler"
Tejun Heo (33): sched_ext: Drop "ops" from scx_ops_enable_state and friends sched_ext: Drop "ops" from scx_ops_helper, scx_ops_enable_mutex and __scx_ops_enabled sched_ext: Drop "ops" from scx_ops_bypass(), scx_ops_breather() and friends sched_ext: Drop "ops" from scx_ops_exit(), scx_ops_error() and friends sched_ext: Drop "ops" from scx_ops_{init|exit|enable|disable}[_task]() and friends sched_ext: Drop "ops" from SCX_OPS_TASK_ITER_BATCH sched_ext: Merge branch 'for-6.15-fixes' into for-6.16 sched_ext: Indentation updates sched_ext: Remove scx_ops_enq_* static_keys sched_ext: Remove scx_ops_cpu_preempt static_key sched_ext: Remove scx_ops_allow_queued_wakeup static_key sched_ext: Make scx_has_op a bitmap Merge branch 'for-6.15-fixes' into for-6.16 Merge branch 'for-6.15-fixes' into for-6.16 sched_ext: Introduce scx_sched sched_ext: Avoid NULL scx_root deref through SCX_HAS_OP() sched_ext: Use dynamic allocation for scx_sched sched_ext: Inline create_dsq() into scx_bpf_create_dsq() sched_ext: Factor out scx_alloc_and_add_sched() sched_ext: Move dsq_hash into scx_sched sched_ext: Move global_dsqs into scx_sched sched_ext: Relocate scx_event_stats definition sched_ext: Factor out scx_read_events() sched_ext: Move event_stats_cpu into scx_sched sched_ext: Move disable machinery into scx_sched sched_ext: Clean up SCX_EXIT_NONE handling in scx_disable_workfn() Merge branch 'for-6.15-fixes' into for-6.16 sched_ext: Clean up scx_root usages sched_ext: Add @sch to SCX_CALL_OP*() sched_ext: Cleanup [__]scx_exit/error*() sched_ext: Add @sch to SCX_CALL_OP*() sched_ext: Explain the temporary situation around scx_root dereferences sched_ext: Call ops.update_idle() after updating builtin idle bits
yangsonghua (1): sched_ext: Improve cross-compilation support in Makefile
Documentation/scheduler/sched-ext.rst | 14 +- kernel/sched/ext.c | 1782 +++++++++++--------- kernel/sched/ext.h | 13 +- kernel/sched/ext_idle.c | 307 +++- kernel/sched/ext_idle.h | 3 +- kernel/sched/sched.h | 4 +- tools/sched_ext/Makefile | 23 +- tools/sched_ext/include/scx/common.bpf.h | 2 + tools/sched_ext/scx_qmap.bpf.c | 4 +- tools/sched_ext/scx_show_state.py | 14 +- tools/testing/selftests/sched_ext/Makefile | 3 +- .../testing/selftests/sched_ext/allowed_cpus.bpf.c | 144 ++ tools/testing/selftests/sched_ext/allowed_cpus.c | 84 + .../selftests/sched_ext/enq_select_cpu.bpf.c | 74 + tools/testing/selftests/sched_ext/enq_select_cpu.c | 88 + .../selftests/sched_ext/enq_select_cpu_fails.bpf.c | 43 - .../selftests/sched_ext/enq_select_cpu_fails.c | 61 - 17 files changed, 1668 insertions(+), 995 deletions(-) create mode 100644 tools/testing/selftests/sched_ext/allowed_cpus.bpf.c create mode 100644 tools/testing/selftests/sched_ext/allowed_cpus.c create mode 100644 tools/testing/selftests/sched_ext/enq_select_cpu.bpf.c create mode 100644 tools/testing/selftests/sched_ext/enq_select_cpu.c delete mode 100644 tools/testing/selftests/sched_ext/enq_select_cpu_fails.bpf.c delete mode 100644 tools/testing/selftests/sched_ext/enq_select_cpu_fails.c
-- tejun
|  |