mirror of
https://github.com/torvalds/linux.git
synced 2026-11-06 21:58:01 +01:00
This depends on sched/core, which carries the sched_ext hooks for proxy execution, and should be pulled after it. The shortlog and diffstat are against v7.3 with sched/core merged. for-7.3-fixes was merged into for-7.4 six times during the cycle, once to receive a change the CID cluster work built on and otherwise to resolve conflicts with development here, mostly the proxy execution work. Five fixes went into for-7.3-fixes in the days before v7.3 was cut and missed the release. They come in through this pull, three of them marked for stable: balance callbacks left queued across a pick retry, a use-after-free on a CPU going offline, and bypass bugs that could stall a task. - Proxy execution can now be enabled together with sched_ext. A BPF scheduler can opt in to receive mutex-blocked tasks that donate their scheduling context to the lock owner and place them itself. - Lazy preemption: a BPF scheduler can preempt or kick a CPU lazily, deferring the switch to the next return to user space or tick, as the fair class can. - Sub-schedulers: a parent now learns which child runs on each CPU it delegated and when a cap change takes effect. A detaching child loses its caps before the parent restores the CPUs. - New kfuncs re-enqueue single tasks from a dispatch queue iteration and report a cgroup's CPU count and a CID's NUMA node. The CID topology now includes clusters. - Hot path optimizations: dispatch queue and task lookups compare keys inline, remote task moves no longer take a dispatch queue lock twice, and sub-scheduler hooks cost nothing without sub-schedulers. - Kfuncs callable from tracing programs are hardened against NMI and IRQ nesting, which could hard-lock the CPU or pick a wrong idle CPU. - Built-in dispatch queues no longer allocate per-CPU state that grew with the square of the CPU count. - Header syncs with the scx repo, a BTF workaround for pahole 1.32, and selftest fixes and coverage. -----BEGIN PGP SIGNATURE----- iIQEABYKACwWIQTfIjM1kS57o3GsC/uxYfJx3gVYGQUCatZJMQ4cdGpAa2VybmVs Lm9yZwAKCRCxYfJx3gVYGRgSAP4n0sb6c00/m1VhyjR/75faCpNrvW5fS0zZ5Zon fAsCGgD5AUTLMn460Lr9vTPXvS8RGS790V/Id/oH0+up5z0sHQA= =Kzaf -----END PGP SIGNATURE----- Merge tag 'sched_ext-for-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext Pull sched_ext updates from Tejun Heo: - Proxy execution can now be enabled together with sched_ext. A BPF scheduler can opt in to receive mutex-blocked tasks that donate their scheduling context to the lock owner and place them itself. - Lazy preemption: a BPF scheduler can preempt or kick a CPU lazily, deferring the switch to the next return to user space or tick, as the fair class can. - Sub-schedulers: a parent now learns which child runs on each CPU it delegated and when a cap change takes effect. A detaching child loses its caps before the parent restores the CPUs. - New kfuncs re-enqueue single tasks from a dispatch queue iteration and report a cgroup's CPU count and a CID's NUMA node. The CID topology now includes clusters. - Hot path optimizations: dispatch queue and task lookups compare keys inline, remote task moves no longer take a dispatch queue lock twice, and sub-scheduler hooks cost nothing without sub-schedulers. - Kfuncs callable from tracing programs are hardened against NMI and IRQ nesting, which could hard-lock the CPU or pick a wrong idle CPU. - Built-in dispatch queues no longer allocate per-CPU state that grew with the square of the CPU count. - Header syncs with the scx repo, a BTF workaround for pahole 1.32, and selftest fixes and coverage. * tag 'sched_ext-for-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext: (69 commits) sched_ext: Drop the locks periodically while walking a user DSQ for re-enqueue sched_ext: scx_qmap: Also re-enqueue stranded tasks with scx_bpf_dsq_reenq_task() sched_ext: Add scx_bpf_dsq_reenq_task() to re-enqueue single tasks from a DSQ iteration sched_ext: Factor out the rq lock switch of scx_dsq_move() sched_ext: Don't queue balance callbacks from a core-sched pick sched_ext: Don't leave balance callbacks queued across a pick retry sched_ext: Fix a bypassed task stalling on a cpu its scheduler has no caps on sched_ext: Fix the running task keeping its protection into bypass sched_ext: Fix use-after-free of a local reenq node left on an inactive cpu sched_ext: Keep proxy donors with slice left on the local DSQ selftests/sched_ext: Report reload_loop attach failures selftests/sched_ext: Bound exit waits selftests/sched_ext: Add SCX_ASSERT_ALIVE and adopt it selftests/sched_ext: Fail loudly when EXIT_KIND is missing from BTF sched_ext: Add SCX_ECODE_RSN_CGROUP_OFFLINE to user_exit_info.h selftests/sched_ext: Fix reload_loop error-path use-after-free selftests/sched_ext: Fix build error in dequeue_remote selftest sched_ext: scx_qmap: Reset a child's cpuperf targets once its PERF revoke takes effect sched_ext: Add ops.sub_child_ecaps_updated() to report a child's effective cap changes sched_ext: scx_qmap: Show actual cid use per participant ... |
||
|---|---|---|
| .. | ||
| completion.rst | ||
| index.rst | ||
| membarrier.rst | ||
| sched-arch.rst | ||
| sched-bwc.rst | ||
| sched-capacity.rst | ||
| sched-deadline.rst | ||
| sched-debug.rst | ||
| sched-design-CFS.rst | ||
| sched-domains.rst | ||
| sched-eevdf.rst | ||
| sched-energy.rst | ||
| sched-ext.rst | ||
| sched-nice-design.rst | ||
| sched-paravirt.rst | ||
| sched-pelt.c | ||
| sched-preemption.rst | ||
| sched-rt-group.rst | ||
| sched-stats.rst | ||
| sched-util-clamp.rst | ||
| schedutil.rst | ||
| text_files.rst | ||