[GIT PULL] sched_ext: Fixes for v6.14-rc2

From: Tejun Heo
Date: Fri Feb 14 2025 - 12:15:28 EST


The following changes since commit ab18b8fff124c9b76ea12692571ca822dcd92854:

Merge tag 'auxdisplay-v6.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay (2025-01-24 08:03:52 -0800)

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.14-rc2-fixes

for you to fetch changes up to f5717c93a1b999970f3a64d771a1a9ee68cc37d0:

sched_ext: Use SCX_CALL_OP_TASK in task_tick_scx (2025-02-13 06:57:33 -1000)

----------------------------------------------------------------
sched_ext: Fixes for v6.14-rc2

- Fix lock imbalance in a corner case of dispatch_to_local_dsq().

- Migration disabled tasks were confusing some BPF schedulers and its
handling had a bug. Fix it and simplify the default behavior by
dispatching them automatically.

- ops.tick(), ops.disable() and ops.exit_task() were incorrectly disallowing
kfuncs that require the task argument to be the rq operation is currently
operating on and thus is rq-locked. Allow them.

- Fix autogroup migration handling bug which was occasionally triggering a
warning in the cgroup migration path.

- tools/sched_ext, selftest and other misc updates.

----------------------------------------------------------------
Andrea Righi (5):
sched_ext: Include task weight in the error state dump
selftests/sched_ext: Fix enum resolution
tools/sched_ext: Add helper to check task migration state
sched_ext: selftests/dsp_local_on: Fix selftest on UP systems
sched_ext: Fix lock imbalance in dispatch_to_local_dsq()

Atul Kumar Pant (1):
sched_ext: Fixes typos in comments

Changwoo Min (1):
sched_ext: Fix incorrect time delta calculation in time_delta()

Chuyi Zhou (2):
sched_ext: Fix the incorrect bpf_list kfunc API in common.bpf.h.
sched_ext: Use SCX_CALL_OP_TASK in task_tick_scx

Devaansh Kumar (1):
sched_ext: selftests: Fix grammar in tests description

Tejun Heo (5):
sched_ext: selftests/dsp_local_on: Fix sporadic failures
sched_ext: Fix incorrect autogroup migration detection
sched_ext: Implement auto local dispatching of migration disabled tasks
sched_ext: Fix migration disabled handling in targeted dispatches
sched_ext: Fix incorrect assumption about migration disabled tasks in task_can_run_on_remote_rq()

kernel/sched/autogroup.c | 4 +-
kernel/sched/core.c | 7 +-
kernel/sched/ext.c | 113 ++++++++++++++-------
kernel/sched/ext.h | 4 +-
kernel/sched/sched.h | 2 +-
tools/sched_ext/include/scx/common.bpf.h | 25 ++++-
tools/testing/selftests/sched_ext/create_dsq.c | 10 +-
.../selftests/sched_ext/ddsp_bogus_dsq_fail.c | 7 +-
.../selftests/sched_ext/ddsp_vtimelocal_fail.c | 7 +-
.../testing/selftests/sched_ext/dsp_local_on.bpf.c | 2 +-
tools/testing/selftests/sched_ext/dsp_local_on.c | 1 +
.../selftests/sched_ext/enq_last_no_enq_fails.c | 10 +-
.../selftests/sched_ext/enq_select_cpu_fails.c | 10 +-
tools/testing/selftests/sched_ext/exit.c | 1 +
tools/testing/selftests/sched_ext/hotplug.c | 6 +-
.../selftests/sched_ext/init_enable_count.c | 27 ++---
tools/testing/selftests/sched_ext/maximal.c | 7 +-
tools/testing/selftests/sched_ext/maybe_null.c | 2 +-
tools/testing/selftests/sched_ext/minimal.c | 10 +-
tools/testing/selftests/sched_ext/prog_run.c | 10 +-
tools/testing/selftests/sched_ext/reload_loop.c | 9 +-
tools/testing/selftests/sched_ext/select_cpu_dfl.c | 7 +-
.../sched_ext/select_cpu_dfl_nodispatch.c | 7 +-
.../selftests/sched_ext/select_cpu_dispatch.c | 7 +-
.../sched_ext/select_cpu_dispatch_bad_dsq.c | 7 +-
.../sched_ext/select_cpu_dispatch_dbl_dsp.c | 7 +-
.../testing/selftests/sched_ext/select_cpu_vtime.c | 7 +-
27 files changed, 198 insertions(+), 118 deletions(-)

--
tejun