Skip to content

v1.1.4

Latest

Choose a tag to compare

@htejun htejun released this 15 Oct 21:00
· 220 commits to main since this release

What's Changed

  • versions: bump versions for 1.1.3 August 2026 release by @htejun in #3749
  • Pr/cake portable topology by @RitzDaCat in #3755
  • scx_mitosis: Mark init_task callback sleepable by @kkdwvd in #3753
  • scx_mitosis: Prepare for subcell support by @kkdwvd in #3740
  • scx_mitosis: Close the lost-wakeup window when disabling llc draining by @htejun in #3760
  • scx_utils, cid: SCX_OPS_TID_TO_TASK compat probe and cmask helpers by @htejun in #3762
  • scx_utils: Require CONFIG_FUNCTION_TRACER for scx_lib_init_probe() by @EricccTaiwan in #3758
  • lib: Multi-instance sdt allocator and arena-backed per-cgroup data by @htejun in #3761
  • scx_pandemoniumv5.19.0: by @wllclngn in #3756
  • scx_lavd: validate cached CPU pick against cpus_ptr on REENQ path by @1343503048 in #3748
  • lib: Add scx_task/cgrp_free_rcu(), poor man's RCU deferred freeing by @htejun in #3765
  • scx_bpfland: Use SCX_ENQ_IMMED instead of cpu_release() by @EricccTaiwan in #3757
  • common.bpf.h: default __scx_prolog_disables_migration to false by @multics69 in #3766
  • scx_cake: select_cpu redesign — self-park mailboxes become default (2… by @RitzDaCat in #3767
  • lib: Make scx_alloc_internal() a global function by @htejun in #3768
  • lib: cmask distribute helpers and caller-chosen allocator element alignment by @htejun in #3770
  • lib: Guard the arena NULL pages and watch BPF streams by @htejun in #3771
  • scx_mitosis: Three small cleanups by @htejun in #3773
  • lib/sdt_task: free task data without deleting task_storage by @multics69 in #3776
  • scx_lavd: restrict direct dispatch to usable, uncongested CPUs by @multics69 in #3735
  • scx_cosmos: Expand GPU locality hints to cgroup workloads by @nvax-r in #3772
  • scx_mitosis: Fix solo-task placement staleness and test script robustness by @htejun in #3774
  • scx_nitosis: Add an experimental cid-form, arena-based fork of scx_mitosis by @htejun in #3775
  • Cargo: update libbpf to latest versions by @sirlucjan in #3751
  • common.bpf.h: probe the BPF prolog on the cid-form attach path too by @devnexen in #3778
  • scx_cosmos: Avoid redundant kicks after local dispatch by @arighi in #3777
  • scx_cosmos: Avoid redundant shared DSQ kicks by @arighi in #3782
  • scx_cosmos: Rework direct dispatch by @arighi in #3783
  • scx_cosmos: Re-introduce direct dispatch in ops.enqueue() by @arighi in #3788
  • scx_pandemoniumv5.20.0: by @wllclngn in #3785
  • scx_cake 1.2.1 gaming regression hotfix by @RitzDaCat in #3786
  • scx_cosmos: Contain tasks in the primary domain unless it is overloaded by @arighi in #3789
  • scx_cosmos: Replace polled CPU utilization with in-BPF accounting by @arighi in #3790
  • scheds/experimental: Introduce scx_cidland by @arighi in #3784
  • scx_mlfq 1.3.11-zero by @galpt in #3787
  • scx_cidland: Rework virtual deadline accounting toward EEVDF by @arighi in #3796
  • scx_lavd: stop the bogus "no task data" errors from the futex hooks by @multics69 in #3781
  • scx: bump rust edition to 2024 and rust version 1.91 by @sirlucjan in #3798
  • scx_mitosis: Always use tracepoints for cgroup tracking by @dforsyth in #3769
  • scx_bpfland: Remove experimental TIMELY mode by @galpt in #3801
  • scx_cidland: Port fair/EEVDF to sched_ext by @arighi in #3800
  • scx_lavd: scale the compete window by online CPUs, not active ones by @multics69 in #3805
  • scx_flow: Update to 4.2.24 by @galpt in #3804
  • scx_flow: Keep Cargo.toml compatible with Rust 1.91 by @arighi in #3808
  • lib/cgroup_bw: manage only cpu.max-limited cgroups by @multics69 in #3754
  • scx_lavd: fix and rate-limit the CPU performance target for schedutil governor by @multics69 in #3793
  • scx: Shared helpers for the next scx_cidland series by @arighi in #3807
  • scx_cidland: Next round of fair/EEVDF fidelity changes by @arighi in #3811
  • Cargo: update libbpf to latest versions. by @sirlucjan in #3810
  • scx_cidland: Move queues and task context to BPF arena by @arighi in #3812
  • scx_arena: Fall back to map-in-map grace periods where membarrier cannot wait by @htejun in #3809
  • scx_cidland: Cgroup scheduling and hierarchical load balancing by @arighi in #3813
  • scx_lavd: Fix the autopilot flag binding, torn task_ctx cache fills and futex return reads by @htejun in #3815
  • lib, scheds/include: cid and arena library prep for cid-form schedulers by @htejun in #3814
  • scx: bump rustfmt to 2024 edition by @sirlucjan in #3816
  • scx_rustland_core: bump missing file to 2024 edition by @sirlucjan in #3818
  • scx_arena: Retry arena page allocations and fail the allocation, not … by @arighi in #3819
  • scx_cargo: Work around libbpf's linker mishandling arena externs by @htejun in #3820
  • scx_cidland: Preemption and load-balance parity with fair.c by @arighi in #3821
  • scx_lavd: extend the overflow set by @multics69 in #3779
  • lib/sdt_alloc: Reserve surplus slabs from concurrent refills by @arighi in #3826
  • scx_mitosis: Assorted fixes for fairness and vtime errors by @kkdwvd in #3795
  • scx_nitosis: preserve arena pointer type in CID topology init by @liulangrenaaa in #3827
  • scx_cake: improve CPU placement and tolerate obsolete launcher options by @RitzDaCat in #3797
  • lib: TRAILING_OVERLAP() and arena running average operations by @htejun in #3828
  • scx_lavd: Drop the suggested_cpu_id clamp in init_task() by @htejun in #3829
  • Introduce scx_eevdf: a re-implementation of fair/EEVDF in sched_ext by @arighi in #3825
  • scx_lavd: Drop the unused conv_wall_to_invr() and get_cpuperf_cap() by @htejun in #3832
  • scheds/include: Make cmask_and(), cmask_or() and cmask_andnot() three-operand by @htejun in #3834
  • scx_mavd: Arena-native cid-form fork of scx_lavd by @htejun in #3836
  • Build BPF with -mcpu=v4 and move CI to clang 22 by @htejun in #3837
  • Add shared idle CID management library by @arighi in #3835
  • Probe kernel features at load and use the fetching arena atomics and BPF stream descriptors where available by @htejun in #3839
  • scx_arena: Size the per-CPU topology mask for every supported CPU by @devnexen in #3846
  • lib/sdt_alloc, scx_rusty: reserve surplus arena pages from concurrent refills by @liulangrenaaa in #3841
  • scx_arena: Type the topology node bitmap reference as struct scx_bitmap by @htejun in #3851
  • Cargo: update libbpf to latest versions. by @sirlucjan in #3853
  • Add AGENTS.md for AI agents working in the tree by @htejun in #3855
  • Sync the shared headers and vmlinux.h with kernel sched_ext/for-7.4 by @htejun in #3856
  • scx_nitosis: Sync with mitosis through c9b90b3 and add CONVERSION.md by @htejun in #3857
  • lib/cid: Split idle CID masks by topology segment by @arighi in #3838
  • scx_mavd: Sync with lavd through c9b90b3 and document the procedure by @htejun in #3858
  • lib/cid: Add cluster idle scopes and splits by @arighi in #3861
  • lib: Introduce upstream libarena by @etsal in #3803
  • Eevdf fidelity fixes by @arighi in #3862
  • scx_mitosis: Retry the other DSQ when the chosen head got away by @htejun in #3864
  • scx_nitosis: Sync with mitosis through 63f2014 by @htejun in #3865
  • scx_lavd: fix neighbor migration never firing on non-SMT machines by @multics69 in #3847
  • scx_mitosis: Clear the borrowed flag on every enqueue by @htejun in #3867
  • scx_nitosis: Sync with mitosis through 140ad09 by @htejun in #3868
  • scx_mitosis: Charge running time at every tick and sample the demand metrics over measured intervals by @htejun in #3871
  • scx_nitosis: Sync with mitosis through 42378f3 by @htejun in #3872
  • scx_mavd: Sync with lavd through e7ed52c by @htejun in #3875
  • scx: Add scx_spin_lock(), which aborts the scheduler on a failed acquire by @htejun in #3869
  • vmlinux: Update to sched_ext/for-next (a8acb152ff95) by @htejun in #3874
  • scx_nitosis: Delegate cells to sub-schedulers by @htejun in #3873
  • scx_mavd, scx_nitosis: Drop the __arena pointer tags by @htejun in #3880
  • scx_mavd: Make the neighbor-steal functions global by @htejun in #3882
  • Cargo: update dependencies to latest versions by @sirlucjan in #3885
  • vmlinux: Update to sched_ext/for-next (a52cbf0bdbbf) merged with bpf/for-next (15b578b1715d) by @htejun in #3886
  • scx_eevdf: Enable proxy execution support by @arighi in #3888
  • scx_eevdf: Bring wakeup preemption and placement closer to fair.c by @arighi in #3889
  • scx_eevdf: Bound a group's shares by the CPUs of its cpuset by @arighi in #3891
  • scx_pandemoniumv5.23.0: by @wllclngn in #3890
  • scx_flow: update to 4.8.11 by @galpt in #3881
  • scx_flow: update to 4.8.12 by @galpt in #3892
  • scx_eevdf: Revert keeping over-served sleepers in the pack reference by @arighi in #3894
  • INSTALL.md: add Devario git package repositories for Arch by @sirlucjan in #3896
  • scx_eevdf: Take a lone running member's vruntime as the pack reference by @arighi in #3895
  • scx_mitosis: Subcell splitting and demand weighted partitioning by @kkdwvd in #3817
  • scx_flow: update to 4.8.14 by @galpt in #3897
  • scx_lavd: add a completion-time estimator by @multics69 in #3850
  • scx_lavd: completion-time-based migration on big.LITTLE by @multics69 in #3854
  • scx_eevdf: Charge a blocking task's last run once by @arighi in #3898
  • scx_eevdf: Fix two more deviations from fair.c in the sleep and wakeup path by @arighi in #3899

New Contributors

Full Changelog: v1.1.3...v1.1.4