Releases: sched-ext/scx
Releases · sched-ext/scx
v1.0.14
What's Changed
- release: scx_userspace_arena should be published before schedulers by @htejun in #2157
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2159
- scx_mitosis: log global + per-cell queue counts. by @tommy-u in #2093
- scx_utils: Use .then_some() to simplify exit_code() by @EricccTaiwan in #2161
- scx_layered: Synchronize among competing preemptors by @htejun in #2165
- lib/sdt_task: Align enum field for consistency by @EricccTaiwan in #2163
- scx_p2dq: Add optimization for pick2 by @hodgesds in #2166
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2167
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2168
- scx_flash: Introduce "turbo" mode by @arighi in #2160
- scx_p2dq: Update handling of affinitized kthreads by @hodgesds in #2169
- load_balance: Refactor get_stats by @EricccTaiwan in #2171
- scx_lavd/main: Simplify cpdom_map construction by @EricccTaiwan in #2158
- scx_flash: Introduce --rr-sched by @arighi in #2174
- scx_lavd: Rework CPU preference ordering considering chip binning. by @multics69 in #2175
- layered: add -V/--version option by @JakeHillion in #2178
- lib/cpumask: use cmpxchg in scx_bitmap_vacate_cpu by @etsal in #2140
- ci: include changelog link when updating kernels by @JakeHillion in #2181
- scx_flash: Introduce --cpu-runqueue by @arighi in #2180
- p2dq: only declare each module once by @JakeHillion in #2183
- scx_mitosis: Remove unused field and helper to suppress warnings by @EricccTaiwan in #2162
- scx_p2dq: Update dispatch DSQ selection to use DSQ iterators by @hodgesds in #2182
- lib: add selftests by @etsal in #2186
- scx_lavd: Refactor FlatTopology. by @multics69 in #2176
- scxtop: add generic bpf kprobe handler by @yaakov-stein in #2185
- scx_p2dq: Optimize dispatch by @hodgesds in #2187
- scxtop: fix number overflow errors by @yaakov-stein in #2188
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2191
- scx_p2dq: Use SCX_DSQ_LOCAL for select_cpu by @hodgesds in #2190
- scx_p2dq: Add deadline scheduling by @hodgesds in #2193
- scx_p2dq: Optimize dispatch_cpu by @hodgesds in #2194
- scx_p2dq: Cleanup consume_llc_compat by @hodgesds in #2195
- scxtop: adding sched_migrate_task tracepoint. by @devnexen in #2196
- scx_utils: Add an environment variable, SCX_SYSFS_PREFIX, for ease of debugging. by @multics69 in #2192
- scxtop: fix dsq0 overflow by @yaakov-stein in #2197
- scx_utils/infeasible: Refactor apply_infeasible_threshold by @EricccTaiwan in #2189
- docs: Add schbench to developer guide by @EricccTaiwan in #2198
- docs: Add cachyos-benchmarker to developer guide by @EricccTaiwan in #2199
- scxtop: fix tracing race bug by @yaakov-stein in #2200
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2201
- scx_rusty: fix typo by @charliechiou in #2202
- layered/chaos: make --version and startup message uniform by @JakeHillion in #2204
- chaos: fix thread error handling by @JakeHillion in #2205
- scx_flash: Improve task re-enqueue by @arighi in #2206
- scx_p2dq: Bump p2dq version by @hodgesds in #2207
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2210
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2211
- scx_lib_selftests/Cargo: Bump edition to 2021 by @EricccTaiwan in #2212
- scxtop: adding kprobe events to trace by @yaakov-stein in #2208
- scx_rusty: Suppress warning on aarch64 by @EricccTaiwan in #2213
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2217
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2216
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2218
- scx_flash: Handle migration-disabled tasks in direct dispatch by @arighi in #2219
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2222
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2223
- scx_rusty: Update aarch64 compat macro by @EricccTaiwan in #2220
- scxtop: fix event clearing bug by @yaakov-stein in #2221
- scx_p2dq: Add migration DSQs by @hodgesds in #2215
- scx_flash: Enable per-CPU DSQs and per-node DSQs by @arighi in #2224
- Add cpufreq/amd_pstate_prefcore_ranking to topology by @ferrreo in #2227
- scxtop: decouple filtering and rendering event list by @yaakov-stein in #2225
- scx_flash: Remove unnecessary parentheses by @EricccTaiwan in #2228
- scx_p2dq: Refactor DSQs by @hodgesds in #2226
- scxtop: make generic kprobe handler sample by @yaakov-stein in #2230
- scxtop: generalize perf events -> profiling events by @yaakov-stein in #2229
- scx_flash: Introduce tickless mode by @arighi in #2231
- scx_utils, scx_lavd: Introduce EnergyModelOptimizer. by @multics69 in #2232
- scx_p2dq: Refactor dispatch path by @hodgesds in #2233
- scxtop: fix kprobe instuction pointer by @yaakov-stein in #2234
- scxtop: add kprobe events to TUI by @yaakov-stein in #2236
- Add basic unit testing for the BPF portion of scx schedulers by @josefbacik in #2238
- scx_lavd: Suppress warning by @EricccTaiwan in #2235
- meson.build: Force to use gnu11 as C standard. by @multics69 in #2239
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2240
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2241
- meson.build: Suppress warning by @EricccTaiwan in #2243
- lib: add minheap data structure by @etsal in #2179
- scx_chaos: minor typo fix by @yaakov-stein in #2245
- cargo_publish.py: switch from paths to crate names and use publish = … by @JakeHillion in #2244
- scxtop: temporary fix for locale crash by @yaakov-stein in #2248
- scx_p2dq: Add interactive DSQ by @hodgesds in #2237
- scxtop: avoid udnerflow when calculating DSQ vtime delta by @mati865 in #2251
- scx_p2dq: Refactor interactive handling by @hodgesds in #2250
- lib/minheap: error out on invalid capacity sizes by @etsal in #2247
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2254
- lib: Suppress a possibly uninitialized variable warning. by @multics69 in #2255
- ci: run scx_lib_selftests and disable it publishing by @JakeHillion in #2256
- scxtop: bump release to 1.0.15 by @JakeHillion in #2258
- scx_p2dq: Fix interactive load balancing by @hodgesds in #2257
- lib/minheap: Simplify parent index calculation by @EricccTaiwan in #2252
- scx: add more support code for unit tests by @josefbacik in #2260
- scx_mitosis: Small fixups by @dschatzberg in #2261
- scx_flash: Misc improvements by @arighi in #2259
- chore(deps): update bpf/bpf-next k...
v1.0.13
What's Changed
- scx_rustland: Simplify TaskTree push logic by @EricccTaiwan in #1841
- scx_rustland: Refactor TaskTree pop to remove redundant else by @EricccTaiwan in #1852
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1853
- scx_p2dq: Cache node CPU masks on llc_ctx by @hodgesds in #1856
- scx_layered: fix verification failure on Clang 20 by @etsal in #1858
- scx_tickless: Misc improvements by @arighi in #1854
- scx_rustland: Refactor dispatch_tasks to simplify control flow by @EricccTaiwan in #1857
- scx_rustland: simplify monitor request handling in run() by @EricccTaiwan in #1862
- scx_rustland_core: Improve sync wakeups by @arighi in #1855
- scx_rustland_core: Fix CPU wakeup with RL_CPU_ANY by @arighi in #1863
- scxctl: list command panic on failure fix. by @devnexen in #1850
- scx_p2dq: Remove unneeded variable by @hodgesds in #1865
- scx_tickless: Fix build warning by @arighi in #1864
- vmlinux.h: Refresh vmlinux.h from sched_ext/for-6.16 (9b30400ff652) by @htejun in #1869
- scx_layered: prevent offset calculation during prefix matching from being optimized out by @etsal in #1868
- scx_layered: propagate task placement hints to BPF by @etsal in #1859
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1870
- scx_qmap: Sync with the kernel changes to fix a build break. by @multics69 in #1872
- scx_stats: simplify channel send error handling with is_err() by @EricccTaiwan in #1867
- scx_lavd: Make the load balancing core compaction- and capacity-aware. by @multics69 in #1871
- scx_utils: cast ioctl opcodes to libc::Ioctl by @vimproved in #1860
- scx_p2dq: Optimize enqueue path lookups by @hodgesds in #1873
- scx_p2dq: Add --select-idle-in-enqueue flag by @hodgesds in #1875
- chaos: remove limit on delayed enqueue loop by @JakeHillion in #1874
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1878
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1877
- scx_bpfland: simplify error handling for sibling CPU setup by @EricccTaiwan in #1866
- scx_lavd: Donate tasks at ops.select_cpu() and ops.enqueue(). by @multics69 in #1879
- scx_lavd: Don't print unnecessary CPU preference orders. by @multics69 in #1880
- scx_stats: Cleanup imports by @hodgesds in #1882
- scx_rustland_core: propagate errors from enable_sibling_cpu_fn by @EricccTaiwan in #1883
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1887
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1888
- scx_rustland, scx_rlfifo: remove unused imports by @EricccTaiwan in #1890
- scx_lavd: make rustfmt happy by @EricccTaiwan in #1889
- chaos/p2dq: symlink lib to fix publishing by @JakeHillion in #1886
- scx_lavd: Find an alternative domain beyond the current node/LLC. by @multics69 in #1892
- scx_rustland_core: drop unused variable by @EricccTaiwan in #1891
- scx_rustland_core: skip L2/L3 search when domain is empty by @charliechiou in #1876
- scx_loader: Add rustland scheduler by @sirlucjan in #1896
- scx_rlfifo: Make the scheduler more viable by @arighi in #1895
- scx_rustland: Introduce a congestion threshold by @arighi in #1894
- meson: add llvm-strip as requirement. by @devnexen in #1884
- scx_chaos: Refactor thread join error handling by @EricccTaiwan in #1899
- ci: switch to nix built kernel by @JakeHillion in #1900
- scx_chaos: Add CPU frequency chaos by @hodgesds in #1901
- scx_lavd: Change the min slice to 500us. by @multics69 in #1902
- scx_utils: Choose a CPU capacity source more judiciously. by @multics69 in #1903
- scx_rustland_core: Refactor memory lock/unlock error handling by @EricccTaiwan in #1898
- scx_rustland_core: Ensure migration-disabled tasks are always enqueued by @arighi in #1897
- scx_utils: Remove unused assignment warning by @EricccTaiwan in #1905
- scx_utils: gpu topologyu add GPU's VRAM (max) clock frequency data. by @devnexen in #1908
- doc: Fix README title and link formatting by @EricccTaiwan in #1910
- docs: Add systing to developer guide by @hodgesds in #1909
- docs: clarify QueuedTask time field comments by @charliechiou in #1906
- scx_rustland_core: Get rid of the custom ops.update_idle() by @arighi in #1904
- scx_lavd: Simplify CPU preference order setup by @EricccTaiwan in #1913
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #1914
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #1915
- scx_rustland_core / scx_rustland: Multiple improvements by @arighi in #1912
- scx_p2dq: Add fifo scheduling for interactive tasks by @hodgesds in #1916
- load_balance: Refactor
find_first_candidate
by @EricccTaiwan in #1911 - scx_layered: Make exclusive work better by @htejun in #1918
- scx_p2dq: Optimize default hot paths by @hodgesds in #1919
- arenas: update aarch64 compat ifdef by @likewhatevs in #1920
- scx_lavd: Improving the performance stability and preemption. by @multics69 in #1922
- rust: Handle return value from
Option::take
by @EricccTaiwan in #1923 - chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1921
- scx_p2dq: Optimize the keep running path by @hodgesds in #1925
- scx_layered: Remove loop workaround in pick_idle_cpu_from() by @htejun in #1930
- scx_mitosis: Strip down for static cpu pinning by @dschatzberg in #1932
- chaos: return prev_cpu instaed of -EINVAL in select_cpu by @JakeHillion in #1929
- ci: re-enable rustland on stable kernels by @JakeHillion in #1924
- chaos: refactor trait selection by @JakeHillion in #1931
- nix: build veristat from source by @JakeHillion in #1934
- lib,scx_p2dq: introduce arena topology by @etsal in #1885
- layered: improve compat of excl fixes on older kernels by @likewhatevs in #1933
- scx_lavd: Add --preempt-shift option. by @multics69 in #1928
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1940
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1941
- scx_rustland: Show version info by @arighi in #1942
- scx_p2dq: Call print_topology after attaching scheduler by @EricccTaiwan in #1936
- scx_p2dq: Optimize affinitized selection by @hodgesds in #1946
- scxtop: Update TUI defaults to slice-consumed by @yaakov-stein in #1945
- ci: fix CACHIX_AUTH_TOKEN access in integration-tests by @JakeHillion in #1943
- nix: add bpf-clang derivation by @JakeHillion in #1947
- scx_rustland_core: Minor optimizations by @arighi in #1944
- scx_layered: Flip the return polarity of sib_keep_idle() by @htejun in #1948
- scx_p2dq: Refactor vtime handling of migrating tasks by @hodgesds in #1833
- scx_layered: Fix race condition between picking an idle CPU and the CPU going idle by @htejun in https://github.com/sched-ext/sc...
v1.0.12
What's Changed
- scxctl: Add version to scx_loader dependency by @htejun in #1617
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1618
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1619
- common: include file and line number in scx_bpf_error by @JakeHillion in #1613
- scx_p2dq: Deprecate greedy idle selection by @hodgesds in #1621
- scxtop: scx_utils: Correctly handle signed values in CPU topology files by @metin-arm in #1587
- chaos: guarantee dispatch of tasks on quiet cpus by @JakeHillion in #1622
- chaos: store p2dq vtime and restore it before enqueue by @JakeHillion in #1625
- Cpumask code fixups by @etsal in #1592
- scx_lavd: Fix a verifier error on ARM64. by @multics69 in #1623
- scx_utils: Add EnergyModel (energy_model.rs). by @multics69 in #1624
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1627
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1628
- scx_chaos: fix missing kernel symbols on older kernels. by @devnexen in #1615
- scx_utils, scx_lavd: Add a new option, "--cpu-pref-order". by @multics69 in #1629
- scx_utils: fix too_many_arguments warning on create_insert_cpu(). by @devnexen in #1630
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1632
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1633
- scx_lavd: Prioritize recently woken-up tasks. by @multics69 in #1631
- scx_p2dq: Adjust max vtime calculation by @hodgesds in #1634
- scx_lavd: Simplify CPU frequency scaling. by @multics69 in #1635
- scxtop: Conditionally attach progs by @hodgesds in #1638
- scx_flash: Always bounce tasks to ops.enqueue() by @arighi in #1637
- scx_lavd: Further prioritize kworkers and a few more. by @multics69 in #1639
- scx_p2dq: Refactor load balancing by @hodgesds in #1642
- scx_p2dq: Update kthread selection on task context by @hodgesds in #1643
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1644
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #1645
- scx_lavd: Do not proactively reserve overflow CPUs, and more. by @multics69 in #1646
- scxtop: attach sched_waking porgram by @tyroguru in #1647
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1648
- include/scx: Bump _Q_MAX_CPUs for arena spinlocks by @etsal in #1649
- scx_utils: retain all BPF output files for multiple compilation units by @etsal in #1650
- lib/sdt_alloc: remove sdt_* prefix from most of the allocator by @etsal in #1651
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1654
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1655
- scx_bpfland: Rework preemption behavior by @arighi in #1652
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #1660
- scx_utils: Correctly test is_migration_disabled(). by @multics69 in #1658
- scx_lavd: Do not extend the overflow set for migration-disabled tasks. by @multics69 in #1659
- scx_bpfland: Normalize task weight by @arighi in #1662
- add tool to document vmlinux.h files by @likewhatevs in #1661
- wd40: fixups for getting single unit compilation working by @etsal in #1663
- scx_layered: gate nvidia_poll kprobe behind flag by @likewhatevs in #1664
- scx_layered: change default gpu kprobe level to prior behavior by @likewhatevs in #1665
- scx_lavd: Change type in clamp_time_slice_ns(). by @multics69 in #1666
- scx_bpfland: Skip migration attempts for migration-disabled tasks by @arighi in #1668
- scx_bpfland: Avoid unnecessary cpumask updates by @arighi in #1667
- chaos: add --ppid-required flag by @JakeHillion in #1656
- scxtop: clean up unused imports by @JakeHillion in #1670
- scx_p2dq: Add CLI args for tuning load balancing by @hodgesds in #1671
- scx_utils: use tempdir in test_bpf_builder_new by @JakeHillion in #1673
- scx_p2dq: Refactor dispatch load balancing by @hodgesds in #1672
- scx_p2dq: Bump version by @hodgesds in #1676
- scx_p2dq: Optimize paths on pick_idle_cpu by @hodgesds in #1677
- scx_p2dq: Fix handling of affinitized tasks by @hodgesds in #1678
- scx_lavd: Use 1024 instead 1000 for fixed point arithmetic. by @multics69 in #1680
- ci: Add affinity stress tests for CI jobs by @hodgesds in #1679
- scxtop: add process and thread descriptors by @tyroguru in #1674
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1682
- fix(#1462): switch scxtop from protobuf to prost by @jalil-salame in #1669
- ci: add nixed script to cover rust part of ci by @JakeHillion in #1681
- scx_p2dq: Fix affinitized task handling by @hodgesds in #1684
- stress_tests: increase timeout_sec to 45s by @JakeHillion in #1685
- scxtop: better naming for kernel workqueue threads by @tyroguru in #1686
- scx_lavd: Calculate scaled and invariant CPU utilization. by @multics69 in #1683
- scx_layered: Debug dump improvements by @htejun in #1688
- scx_p2dq: Add configuration for dispatch load balancing by @hodgesds in #1692
- scx_p2dq: Refactor wakeup logic by @hodgesds in #1691
- scxtop: fixing missing process names by @tyroguru in #1694
- scxtop: trace (part of) pstate_sample by @devnexen in #1636
- scx_p2dq: Allow interactive task load balancing by @hodgesds in #1696
- meson: making protoc dependency more upfront before setting the project. by @devnexen in #1697
- scx_layered: Implement layer option skip_remote_node by @htejun in #1698
- scx_bpfland: improve wakeups by @arighi in #1693
- rustscheds: add common SCX_TIMEOUT_MS env var to set stall watchdog limit by @JakeHillion in #1695
- README: update list of build dependencies for Ubuntu by @arighi in #1700
- scx_lavd: Use scaled CPU utilization for calculating # of active CPUs. by @multics69 in #1699
- scx_lavd: Improve preemption at ops.tick() and ops.qneueue(). by @multics69 in #1703
- scx_lavd: Skip load balancing when there is only one compute domain. by @multics69 in #1704
- scx_bpfland: Introduce --no-wake-sync by @arighi in #1701
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1705
- scx_utils: using more modern rust idiomatics. by @devnexen in #1706
- scx_p2dq: Refactor big/little scheduling by @hodgesds in #1702
- scx_bpfland: Fix inverted logic for --no-wake-sync by @arighi in #1711
- scx_flash: Avoid direct local dispatch of per-CPU tasks on SCX_ENQ_REENQ by @arighi in #1710
- scx_bpfland: Restore slice_lag tunable by @arighi in #1709
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #1714
- scx_utils: Add mangolog module by @hodgesds in #1708
- scx_utils, scx_lavd: Use per-CPU cache size for CPU preference order. by @multics69 in #1715
- cho...
v1.0.11
What's Changed
- scxtop: Disable bpf conditional attachment by @hodgesds in #1463
- scxtop: bump to 1.0.11 by @JakeHillion in #1464
- scxtop: bump lock file to 1.0.11 by @JakeHillion in #1466
- scx_utils, scx_lavd: Add cpu_capacity to Topology and use it in scx_lavd. by @multics69 in #1465
- scx_lavd: Optimize core compaction at ops.dispatch() and more by @multics69 in #1467
- Add scxctl into tools by @frap129 in #1458
- scx_bpfland: Fix idle detection when SMT is disabled by @ruihe774 in #1468
- scxctl: use scx_loader crate by @frap129 in #1469
- scx_layered: add node spread growth algo by @likewhatevs in #1471
- scx_p2dq: Add config for minimum queue size for pick2 by @hodgesds in #1472
- scx_p2dq: Add config for min runs for pick2 by @hodgesds in #1473
- scx_p2dq: Add stats for pick2 on dispatch/select paths by @hodgesds in #1475
- scx_p2dq: Allow disabling pick2 load balancing on dispatch by @hodgesds in #1476
- scx_p2dq: Add option to only load balance max DSQ tasks by @hodgesds in #1477
- scx_utils: Topology: Provide smt_enabled by @arighi in #1478
- scx_utils: Fix the failure in tracepoint_exists() in some kernel configs. by @multics69 in #1483
- scx_flash: simplify scheduling policy by @arighi in #1479
- scx_p2dq: Add helper to scale vtime by task weight by @hodgesds in #1484
- scxtop: Fix DSQ initialization by @hodgesds in #1481
- common: Add helpers for scaling by task weight by @hodgesds in #1485
- scx_utils: Fix cargo warning by @hodgesds in #1486
- scx_wd40: import kkd's arena spinlocks from the kernel by @etsal in #1487
- scx_layered: add protected layer flag by @etsal in #1470
- common: Rename scale_task_fair and scale_task_inverse_fair by @hodgesds in #1488
- Fix typo in p2dq's README by @Shendisx in #1492
- scx_p2dq: enqueue to selected_cpu by @etsal in #1495
- scx_p2dq: Add min_nr_queued_pick2 check on pick_two_llc_ctx by @hodgesds in #1491
- scx_p2dq: Refactor idle cpu selection for LLC stickiness by @hodgesds in #1493
- scx_p2dq: Revert SCX_DSQ_LOCAL_ON in select_cpu by @hodgesds in #1496
- scx_rustland: write generated files only when needed by @likewhatevs in #1474
- scx_bpfland: handle per-CPU tasks preempted by a higher scheduling class by @arighi in #1489
- scx_utils: Add helpers for finding mount points by @hodgesds in #1499
- scx_lavd: Respect the core preference and some more. by @multics69 in #1490
- scx_utils: Fix debugfs mount by @hodgesds in #1500
- scx_utils: Fix tracepoint_exists() by @multics69 in #1506
- meson: Cross-compiling with cargo by @frelon in #1505
- scx_layered: add cpus_pct cfg param by @likewhatevs in #1497
- [RFC] scx_utils: Add idle power management helpers by @hodgesds in #1503
- scx_flash: mitigate stalls from higher priority scheduling classes by @arighi in #1508
- scx_utils: fix netdev (numa) node id path. by @devnexen in #1510
- meson, scxtop, scx_rusty: Patches to build for riscv64gc by @frelon in #1509
- scx_p2dq: Add idle resume QoS config by @hodgesds in #1512
- scx_wd40: remove lb_domain map by @etsal in #1513
- scx_utils: netdevs do not bother checking affinity if the interface i… by @devnexen in #1515
- scx_layered: Add idle qos config by @hodgesds in #1507
- scxtop: adding hw_pressure event trace. by @devnexen in #1453
- scx_layered: add node spread reverse, swap it with node spread by @likewhatevs in #1516
- include/scx: turn arena spinlocks into common headers by @etsal in #1514
- docs: Update rust scheduler docs by @hodgesds in #1519
- scx_utils: Add helper for cpu idle qos support by @hodgesds in #1521
- scx_layered: make nodespread account for smt by @likewhatevs in #1518
- ci: pin kernel revisions by @JakeHillion in #1501
- scx_wd40: remove unnecessary argument to vtime update functions by @etsal in #1523
- scx_layered: cleanup node spread by @likewhatevs in #1522
- scx_p2dq: Refactor local wakeup handling by @hodgesds in #1520
- scx_utils: cpu_capacity lookup fixing comparison type assumptions. by @devnexen in #1525
- ci: add missing dependencies for update-kernels by @JakeHillion in #1526
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1527
- ci: remove --merge and --delete-branch in update-kernels by @JakeHillion in #1529
- scx_p2dq: Refactor eager load balancing by @hodgesds in #1530
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1532
- scx_p2dq: Fix vtime handling in enqueue path by @hodgesds in #1533
- scx_p2dq: Refactor idle CPU selection by @hodgesds in #1531
- scxtop: Add checks when updating DSQ latency by @hodgesds in #1534
- scx_layered: More optimal core allocation by @kkdwivedi in #1109
- scxtop: Add fork event tracing by @hodgesds in #1535
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1537
- scx_p2dq: Refactor pick_two_cpu idle selection by @hodgesds in #1536
- scx_p2dq: Update enqueue CPU selection by @hodgesds in #1539
- scx_p2dq: Cleanup pick_two_cpu selection by @hodgesds in #1538
- scx_p2dq: Update default scheduler config by @hodgesds in #1540
- scx_p2dq: Refactor enqueue path by @hodgesds in #1541
- scxtop: trace on_sched_exec event. by @devnexen in #1543
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1544
- scx_layered: add exclude match rule by @etsal in #1542
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1547
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1550
- scx_lavd: Make the idle CPU selection compute domain aware. by @multics69 in #1548
- scx_lavd: Enable SCX_OPS_ALLOW_QUEUED_WAKEUP and misc. by @multics69 in #1551
- scx_p2dq: Fix vtime accounting by @hodgesds in #1553
- scx_utils: Add NUMA node distance to topology by @hodgesds in #1552
- scxtop: Add key bindings to toggle hw pressure by @hodgesds in #1546
- scxtop: Add exit event tracing by @tyroguru in #1554
- scxtop: fix exec event handling when tracing by @tyroguru in #1556
- scx_bpfland: Enable SCX_OPS_ALLOW_QUEUED_WAKEUP by @arighi in #1558
- scx_utils: explicitly reference scx_utils::import_enums by @JakeHillion in #1559
- scx_utils: add missing traits to macros and avoid dependency on OpenBpfSkel by @JakeHillion in #1561
- gen_enums.py: explicitly reference scx_utils::scx_enums by @JakeHillion in #1560
- scx_p2dq: Refactor load balancing by @hodgesds in #1549
- scx_bpfland: Introduce --idle-resume-us by @arighi in #1562
- scx_p2dq: Add support for SCX_OPS_ALLOW_QUEUED_WAKEUP by @hodgesds in #1564
- scxtop: fix clock_sync_failure errors by @tyroguru in #1563
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in https://git...
v1.0.10
What's Changed
- versions: Bump versions for v1.0.9 release by @htejun in #1306
- scx_lavd: Use time_delta() in a missing place by @multics69 in #1296
- ci: move caching-build to nix built kernel by @JakeHillion in #1302
- scxtop: clean up duplicated entry insertion code by @JakeHillion in #1309
- scx_lavd: Bump version for v1.0.9 release by @htejun in #1310
- scxtop: use struct-in-tuples for Action enum instead of structs by @JakeHillion in #1311
- rust/scx_utils: rebuild scheduler when headers are modified by @etsal in #1312
- scxtop: adding one perf event type
L1-dcache-load-misses
. by @devnexen in #1313 - scx_p2dq: Add scx_p2dq scheduler by @hodgesds in #1316
- scripts, scx_utils, scheds: Compatible testing of
SCX_ENQ_CPU_SELECTED
by @multics69 in #1314 - scx_lavd: Revert "scx_lavd: Kick an idle cpu as early as possible on ops.select_cpu()" by @multics69 in #1321
- scx_lavd, scx_top: inlining builtin copies. by @devnexen in #1323
- scripts, scx_utils: Clean up gen_enum_defs.py and the generated header by @multics69 in #1322
- scxtop: track sched_waking events by @JakeHillion in #1318
- scx_p2dq: Fix vtime handling and cleanup by @hodgesds in #1319
- scx_layered: making unexpected gpu error smoother. by @devnexen in #1325
- scx_layered: Remove CPU shuffling when idle CPU is not found in layered_select_cpu() by @htejun in #1329
- scx_layered: enable creating scx appimage by @likewhatevs in #1330
- schedulers: lifetime inference on scheduler Drop trait definition. by @devnexen in #1332
- scx_wd40: Introduce wd40 scheduler by @etsal in #1328
- scxtop: make q exit help if in help instead of quitting by @JakeHillion in #1334
- scxtop: track number of dropped events and render it by @JakeHillion in #1335
- aarch64 build fixes by @etsal in #1336
- scx_p2dq: Add perf boost to interactive tasks by @hodgesds in #1337
- scx_layered: Update enqueue path to use direct dispatch into foreign local DSQs by @htejun in #1338
- scx_p2dq: Update defaults by @hodgesds in #1339
- scxtop: trivial: fix match arm case by @JakeHillion in #1341
- scxtop: drop unnecessary Arc and RwLock on tui by @JakeHillion in #1342
- build: Add script for pgo/lto builds by @hodgesds in #1333
- scxtop: Add softirq events by @hodgesds in #1340
- scxtop: run clippy and implement fixes by @JakeHillion in #1343
- scxtop: clippy fixes and made rust-tests action check required by @JakeHillion in #1345
- scx_rusty: further aarch64 fixes by @etsal in #1344
- scx_layered: Fix pick_idle_cpu() sometimes returning a disallowed CPU by @htejun in #1349
- scx_lavd: Avoid scx_bpf_kick_cpu(SCX_KICK_PREEMPT) for self-preemption by @multics69 in #1352
- scx_p2dq: Update load balancing by @hodgesds in #1353
- kernel: Sync with kernel at ad3b301aa05a ("sched_ext: Provides a sysfs 'events' to expose core event counters") by @htejun in #1354
- enum updates by @htejun in #1356
- scx_wd40: add cpumask library by @etsal in #1346
- scx_layered: Enable queued wakeup optimization by @htejun in #1357
- scx_loader: Add p2dq scheduler by @hodgesds in #1355
- scx_lavd: Fix the performance regression in recent changes. by @multics69 in #1358
- scx_rusty: turn off mempolicy setting for arm64 until we regen the headers by @etsal in #1359
- scx_p2dq: Refactor dispatch for better interactivity by @hodgesds in #1360
- scxtop: propose to give the ability to focus on one process. by @devnexen in #1361
- scx: Don't panic on missing enums in C schedulers by @arighi in #1362
- scx_p2dq: Fix verifier issue on big/little topology by @hodgesds in #1365
- scx_p2dq: Add autoslice tuning by @hodgesds in #1363
- scxtop: add experimental_long_tail_tracing by @JakeHillion in #1366
- scx_p2dq: Update pick2 migration logic by @hodgesds in #1364
- scx_bpfland: disable auto local dispatch for migration-disabled tasks by @arighi in #1368
- scxtop: Add IPI events by @hodgesds in #1367
- scxtop: __bpf_ringbuf_reserve() failure set to ENOMEM instead. by @devnexen in #1369
- scx_wd40: start simplifying by @etsal in #1372
- ci: use for-next for regular ci jobs to enable testing of new kernel … by @likewhatevs in #1370
- scx_utils: remove test dependency on a sched_ext kernel by @JakeHillion in #1371
- scx_layered: add debug logging for gpu support and fix UsingGpu matcher by @likewhatevs in #1374
- scx_p2dq: Add initial wake sync support by @hodgesds in #1377
- scx_utils: make cpumask example no_run by @JakeHillion in #1381
- scxtop: Make tokio runtime options configurable by @hodgesds in #1376
- scxtop: Update README by @hodgesds in #1382
- scx_rusty: various optimisations/simplifications. by @devnexen in #1380
- scx_p2dq: Update docs by @hodgesds in #1383
- scx_layered: change sysinfo version to 0.30 by @likewhatevs in #1375
- scx_utils: use clsuter_id to detect if big.LITTLE CPUs by @arighi in #1386
- scx_bpfland: avoid creating redundant cache domains by @arighi in #1388
- scxtop: Cleanup unused counters by @hodgesds in #1390
- scx_layered: fix gpu matcher bugs by @likewhatevs in #1379
- scx_wd40: using nix instead of libc. by @devnexen in #1392
- scxtop: Add localization on number formatting by @hodgesds in #1393
- scx_bpfland: reduce task migrations by @arighi in #1389
- scxtop: Pass actions by reference by @hodgesds in #1391
- sched_ext: Add NUMA-aware idle CPU helpers by @arighi in #1395
- scx_utils: topology: Add package_id to the LLC and Core keys by @arighi in #1397
- scx_bpfland: Always re-enqueue tasks that are running on a busy SMT core by @arighi in #1398
- scxtop: Add config file by @hodgesds in #1394
- scx_bpfland: minor optimisations/modernisation. by @devnexen in #1331
- scx_utils: gpu topology adding nearest available devices. by @devnexen in #1396
- scx_p2dq: Refactor idle CPU selection by @hodgesds in #1402
- scx_bpfland: Skip idle CPU selection when system is fully busy by @arighi in #1401
- meson: Add p2dq to meson build by @hodgesds in #1404
- scx_bpfland; use scx_bpf_now() consistently by @arighi in #1403
- scx_bpfland: fix non-SMT CPU busy state detection by @arighi in #1405
- meson: Add p2dq to meson scripts and CI by @hodgesds in #1407
- scx_lavd: Use tracepoints for futex for reliable tracing by @multics69 in #1408
- scx_lavd: Fix BPF verifier errors in old kernels. by @multics69 in #1410
- scx_p2dq: Handle invalid load sum calculations by @hodgesds in #1409
- scxtop: Add keymap configuration by @hodgesds in #1406
- scxtop: add logging to file with panics by @JakeHillion in #1412
- scx_wd40: simplify BPF component by @etsal in #1399
- scxtop: clamp gauge ratio by @JakeHillion in https://github.com/sched-ext/scx/pull/...
v1.0.9
What's Changed
- Sync with kernel sched_ext/for-6.14 by @htejun in #1101
- Crash after wake-up from hibernate: panicked at scheds/rust/scx_bpfla… by @mschaaf in #1106
- scx_lavd: Reuse bpf_ktime_get_ns() as many as possible by @multics69 in #1107
- scx_rustland_core: minor fixes by @arighi in #1105
- docs: Update gentoo installation instructions by @hodgesds in #1114
- common.bpf.h: Suppress generated prototypes in vmlinux.h by @htejun in #1115
- scx_lavd: Optimize autopilot mode for ARM platform by @multics69 in #1112
- scx_lavd: Add a fast path to pick_idle_cpu() when overloaded by @multics69 in #1117
- scx_lavd: Change the default time slice to 5 msec by @multics69 in #1119
- scx_layered: Fix lifetime variable related compile warnings by @htejun in #1122
- scx_lavd: Ensure task stealing from all compute domains by @multics69 in #1125
- prepare codebase for using arenas with Rust schedulers by @etsal in #1121
- scx_flash: Explicitly return in "fexit_vfs_fsync_range" by @vax-r in #1123
- scx_layered: Fix open layer handling by @htejun in #1124
- scx_lavd: Prioritize a migration-disabled task by @multics69 in #1126
- scx_layered: Implement layer property disallow_preempt_after_us by @htejun in #1129
- scx_layered: Open layer owned protection updates by @htejun in #1131
- lib/sdt_task.c: separate generic allocation code from task_ctx allocation by @etsal in #1130
- lib/sdt_alloc: fix LLVM19 compilation error by @etsal in #1134
- scx_bpfland: support !CONFIG_SMP kernels by @arighi in #1135
- scx_flash: Option for userspace lock boosting by @vax-r in #1136
- bpf_builder: emit warnings from clang by @JakeHillion in #1138
- rustland_core: clean up unused functions by @JakeHillion in #1141
- scx_bpfland: improve/simplify deadline by @arighi in #1137
- scx_rusty: prevent scheduling bubbles on kernels >= 6.12 by @arighi in #1139
- scx_flash: prevent scheduling bubbles on kernels >= 6.12 by @arighi in #1142
- mitosis: add missing return to select_cpu by @JakeHillion in #1140
- scx_utils: emit compilation warning when compiling multiple *.bpf.c files by @etsal in #1146
- scx_layered: fix compilation warnings by @etsal in #1147
- update README by @etsal in #1149
- build: Allow to build bpftool with clang by @vadorovsky in #1144
- lib/sdt_data: Support allocators for large structs by @etsal in #1150
- Enable Link-Time Optimization (LTO) for the Rust part by @zamazan4ik in #1011
- scxtop: Add scxtop tui by @hodgesds in #1154
- [scx] fix ci by @likewhatevs in #1157
- scx_lavd: Add a fast path for a migration-disabled task in pick_idle_cpu() by @multics69 in #1156
- scxtop: Add scheduler view to llc/node views by @hodgesds in #1159
- meson: do not link BPF library into C schedulers by default by @etsal in #1158
- lib/sdt_alloc: replace bpf_for with can_loop by @etsal in #1161
- scx_bpfland: do not allow per-CPU kthread to preempt other tasks by @arighi in #1148
- scxtop: Add additional bpf kprobes by @hodgesds in #1164
- scx_layered: Add pid namespace layer matching by @hodgesds in #1162
- docs: update nix install docs by @JohnRTitor in #1163
- lib: remove header install step now that headers are in scheds/include by @etsal in #1165
- scx_bpfland: improve robustness with real-time tasks and throughput by @arighi in #1166
- scx_rusty: use arena allocations for struct task_ctx by @etsal in #1133
- docs: Add scxtop to the developer docs by @hodgesds in #1169
- INSTALL.md: update for openSUSE by @sirlucjan in #1172
- scheds: Use crate version for --version by @frelon in #1173
- scxtop: Refactor bpf event handling and TUI fixes by @hodgesds in #1174
- scx_utils: addressing few clippy build warnings. by @devnexen in #1179
- scxtop: Fix attach on newer kernels by @hodgesds in #1180
- sdt_task: Cleanup formatting by @hodgesds in #1183
- scheds: Sync scx schedulers with the kernel changes: time_helpers and scx_bpf_now() by @multics69 in #1178
- scx_utils: Fix UserExitInfo::new() usage. by @devnexen in #1181
- scxtop: Add barchart to node view by @hodgesds in #1176
- scxtop: Add CPU frequency to default sparkline view by @hodgesds in #1177
- scx_utils: few code simplifications. by @devnexen in #1184
- scx_bpfland: avoid starvation of per-CPU tasks by @arighi in #1185
- scxtop: Fix node barchart by @hodgesds in #1186
- lib/sdt_alloc: rename sdt_arena_verify to avoid confusion by @etsal in #1187
- Revert gh1181 by @devnexen in #1189
- Code simpl2 by @devnexen in #1190
- scxtop: Collect uncore frequency by @hodgesds in #1191
- code simplifications, using more modern construct when possible. by @devnexen in #1192
- scx_rustland_core: fix static mutable reference usage warning (BUF). by @devnexen in #1193
- scx_layered: Fix dump_layer_cpumask() by @htejun in #1194
- Fix partialord warnings by @devnexen in #1196
- Code simpl4 by @devnexen in #1197
- scx_central: fix cpu affinity corrupted allocation (glibc). by @devnexen in #1198
- scxtop: code simplifications and little optimisation uncore freq file… by @devnexen in #1205
- scxtop: code simplifications and reduction of heap allocations for perf by @devnexen in #1208
- scx_utils: fix gpu-topology build by @devnexen in #1210
- scx_rusty: Move domains into arenas by @etsal in #1170
- scx_layered: add rule for matching thread to name change by @etsal in #1203
- scx_rusty: Cleanup naming by @etsal in #1213
- scxtop: proposing to add bus-cycles event. by @devnexen in #1217
- scxtop: Cleanup event intialization by @hodgesds in #1218
- meson: Install rust projects in tools dir by @frelon in #1219
- scx_lavd: Use time_delta() for clock difference calculation by @multics69 in #1222
- scx_layered: Implement
allow_node_aligned
layer property by @htejun in #1215 - scxtop: Add ability to select perf events by @hodgesds in #1220
- scx_bpfland: improvements by @arighi in #1224
- docs: Update tumbleweed installation steps by @frelon in #1226
- scx_lavd: Optimize the use of idle CPUs by @multics69 in #1223
- scxtop: update help display with last changes (perf event scrolling). by @devnexen in #1227
- scx_layered: Add matcher for when tgid is or is not equal to pid by @likewhatevs in #1204
- scxtop: Fix scroll on page up by @hodgesds in #1230
- scx_layered: fixes for MATCH_SCXCMD_JOIN by @etsal in #1232
- scxtop: Add event to default list after selection by @hodgesds in #1233
- scx_layered: Document the CmdJoin layer by @etsal in #1235
- scx_loader: Avoid race condition with start_scheduler by @taoky in #1225
- scxtop: Fill render area by setting max events by @hodgesds ...
v1.0.8
What's Changed
- version: v1.0.7 by @htejun in #1063
- scripts: Refactor vtime_dist script by @hodgesds in #1056
- scx_layered: Put all tasks with custom affinities into the hi fallbak DSQs by @htejun in #1064
- scripts: Add slicesnoop script by @hodgesds in #1057
- scx_layered: Refactor dsq_lat script by @hodgesds in #1058
- scx_bpfland: do not rely on scx_utils::autopower by @arighi in #1066
- scx: add ci job to test rolling stable by @likewhatevs in #1049
- scx: add rustfmt.toml files to avoid lookup to $HOME/.rustfmt.toml by @likewhatevs in #1069
- scx_layered: Make low fallback DSQs useful and other changes by @htejun in #1076
- docs: Update installation notes for Ubuntu by @arighi in #1075
- meson: Add scx_lib dep to gen_bpf_o by @frelon in #1067
- scx_lib: use the proper bpftool by @arighi in #1071
- scx_layered: handle nr_to_free calculation by @luigidematteis in #1073
- scripts: Add scxtop by @hodgesds in #1078
- Fixes for dsq_lat.bt by @samuelnair in #1077
- scx_loader: provide library crate to be used by other crates by @vnepogodin in #1070
- readme: specify cargo install --locked be used by @likewhatevs in #1079
- only compile library when using recent bpftool versions by @etsal in #1080
- fix header install path for library by @etsal in #1081
- scx_utils: Remove log_recorder by @htejun in #1084
- scx_layered, cpumask, topology: Cleanups by @htejun in #1083
- cpumask, scx_layered: Clean up Cpumask iterator by @htejun in #1085
- scx_layered: Implement empty LLC draining by @htejun in #1092
- scripts: Refactor scxtop by @hodgesds in #1088
- scx_layered: queued_runtime tracking bug fix and disable xllc_mig_min_us by default by @htejun in #1093
- Install: Rework Arch Linux section by @ptr1337 in #1095
- Etsal/bump req bpftool version by @etsal in #1091
- scx_layered: Refactor proximity map iteration by @hodgesds in #1086
- bump libbpf-rs version to 0.24.8, specify libbpf-sys version 1.4.6+1.4.7 by @etsal in #1089
- multiple compilation units in Rust by @etsal in #1090
- scx_bpfland: server workload improvements by @arighi in #1094
- scx_loader: add mode for server-oriented workloads by @vnepogodin in #1096
- scx_layered: Improve layer core growth algos by @hodgesds in #1098
- scx_layered: Make layered work in pid namespaces by @hodgesds in #1099
- scx_loader: fix recursion of type convertion by @vnepogodin in #1100
- scx_layered: Add pid namespace layer matching by @hodgesds in #1103
- fix missing rerun-if-changed statements by @etsal in #1108
- version: 1.0.8 by @htejun in #1110
Full Changelog: v1.0.7...v1.0.8
v1.0.7
What's Changed
- introduce CO:RE enum readers and use them for scx_central by @etsal in #894
- add CONFIG_IKCONFIG_PROC to ci kconfig by @likewhatevs in #900
- add CONFIG_IKCONFIG to ci Kconfig and bump cache ver by @likewhatevs in #905
- scx_layered: Add fallback DSQ cost accounting by @hodgesds in #896
- scx_layered: Fix verifier issue when tracing by @hodgesds in #906
- scx_lavd: update cur_logical_clk atomically by @multics69 in #903
- scx_lavd: drop padding in cpdom_cpumask, which was a workaround by @multics69 in #904
- scx_loader: tune scx_bpfland default options by @arighi in #907
- scx_layered: Fix verifier issue on older kernels by @hodgesds in #910
- scx_layered: Use layer idle_smt option by @hodgesds in #911
- layered/topo: lift layer specific checks out of per-LLC loop by @JakeHillion in #908
- scx_layered: Cleanup cpumask by @hodgesds in #912
- scx_layered: Add fallback costs to dump by @hodgesds in #913
- scx_lavd: docs: fix typos by @LohithCV in #915
- scx_layered: Work around older kernels choking on function calls from… by @htejun in #916
- scx_layered: add timer antistall by @likewhatevs in #890
- scx_layered: Fix error in dispatch consumption by @hodgesds in #920
- scx_layered: Add helper for layer slice duration by @hodgesds in #918
- scx_layered: Fix formatting by @hodgesds in #921
- scx_layered: Fix dump format by @hodgesds in #922
- scx_layered: Fix cost accounting for fallback dsqs by @hodgesds in #923
- scx_layered: Consume from local LLCs for dispatch by @hodgesds in #919
- scx_layered: Fix formatting by @hodgesds in #925
- layered: split out common parts of LayerKind by @JakeHillion in #926
- scheds: introduce scx_flash by @arighi in #924
- fix compile errors by @purplewall1206 in #928
- scx_layered: Perf improvements and a bug fix by @htejun in #929
- scx_layered: Don't limit antistall execution to layered_cpumask by @htejun in #932
- scx_layered: Fix verifier issues on older kernels by @hodgesds in #933
- scx_layered: Cleanups around topology handling by @htejun in #934
- scx_lavd: Factor the task's runtime more aggressively in a deadline calculation by @multics69 in #931
- scx_layered: Work around verification failure in antistall_set() on o… by @htejun in #939
- scx_loader: add scx_flash as supported scheduler by @vnepogodin in #942
- [RFC] scx_layered: Add netdev IRQ balancing by @hodgesds in #930
- scx_loader: update docs by @sirlucjan in #947
- replace goto with unrolled loop in antistall_set by @JakeHillion in #943
- scx_utils/scx_layered: bump to 1.0.7 by @JakeHillion in #949
- scx_layered: Use PROG_RUN for cpumask updates by @hodgesds in #950
- scx_lavd: Optimize the layout of struct task_ctx by @multics69 in #952
- cargo fmt to match ci by @JakeHillion in #953
- Merge pull request #953 from JakeHillion/pr953 by @JakeHillion in #954
- rust-toolchain: init file by @JakeHillion in #955
- scx_layered: Remove high fallback dsq budget check by @hodgesds in #956
- scx_lavd: Do not exclude exiting tasks by @multics69 in #957
- scx_rustland_core: proactively wake up CPUs when selected by user space by @arighi in #946
- docs: Fix link to Gentoo installation instructions by @kostadinsh in #962
- utils: add powerpc64le to arch map by @frelon in #960
- scx_layered: Reimplement CPU allocation and some other fixes by @htejun in #958
- scx_rusty: Fix verifier errors on older kernels by @hodgesds in #963
- scx_layered: select_cpu() fixes and updates by @htejun in #964
- scx_lavd: Boost time slice more generously by @multics69 in #959
- scx_lavd: Optimize performance criticality calculation by @multics69 in #968
- scx_lavd: Optimize the cpuc_ctx layout for cache friendliness by @multics69 in #969
- topology: Make it more consistent by @htejun in #967
- scx_layered: Reimplement
try_preempt()
by @htejun in #970 - scx_lavd: Optimize preemption by @multics69 in #971
- scx_layered: Fix verifier errors on big/little by @hodgesds in #972
- scx_layered: More cleanups and an antistall fix by @htejun in #973
- scx_bpfland: restart on energy profile change by @arighi in #974
- scx_lavd: add tunables for adjusting time slices by @multics69 in #975
- scx_layered: Refactor layered initialization by @hodgesds in #976
- scx_layered: Refactor CPU initialization by @hodgesds in #977
- scx_lavd: Replace bpf_get_smp_processor_id() to cpuc->cpu_id by @multics69 in #979
- scx_layered: Fix missing layered->id init by @htejun in #978
- meson: Install scx header files by @frelon in #961
- scx_layered: Track owned/open execution times and per-LLC-layer stats by @htejun in #980
- scx_layered: Refactor layer growth order by @hodgesds in #965
- scx_loader: restart scheduler upon fail by @vnepogodin in #983
- scx_lavd: Minor code clean up by @multics69 in #984
- Introduce for_each_possible_cpu() for_each_online_cpu() iterators by @abrehman94 in #985
- scx_utils: Add core_id/llc_id to topology as a unique identifiers by @hodgesds in #982
- scheds: use llc id by @arighi in #993
- fix document generation by @likewhatevs in #992
- scripts: Add bpftrace script to trace CPU frequency by @hodgesds in #995
- scx_lavd: Limit the slice extension of a lock holder by @multics69 in #990
- scx_layered: Implement in-layer execution protection to replace cost based fairness by @htejun in #996
- scx_layered: Reimplement layered_dispatch() by @htejun in #997
- scx_bpfland: dump cache_id_map in ascending order by @mmz-zmm in #999
- scx_layered: Fix idle selection on big/little by @hodgesds in #1007
- scx_utils: remove use of deprecated bindgen API; require bindgen >=0.69 by @luigidematteis in #1002
- scx_layered: Prioritize sched userspace and fix owned execution protection by @htejun in #1008
- scx_layered: State tracking updates and layer sizing related fixes by @htejun in #1012
- Fix build on non-x86 architectures by @hack3ric in #1005
- scx_lavd: Load balancing across compute domains by @multics69 in #1000
- scx_layered: Deprecate idle_smt layer config by @htejun in #1013
- [RFC] scx_lavd: Fetch active profile from power-profiles-daemon dbus interface when using autopower by @ruihe774 in #1017
- vmlinux: Increase cpumask size in vmlinux.h for all arch by @multics69 in #1016
- ignore ctags files by @etsal in #1021
- scx: fix build by @likewhatevs in #1020
- scx: fix pages build by @likewhatevs in #1025
- scx: enable using sccache by @likewhatevs in #1018
- scx_layered: Make vtime_now per-LLC by @htejun in #1026
- docs: Add bpftop to developer guide by @hodgesds in https://github.com/sched-ext/scx...
v1.0.6
What's Changed
- v1.0.5 by @htejun in #722
- version: Cargo.lock update by @htejun in #724
- scx_lavd: support CPU hotplug correctly by @multics69 in #714
- add link to generated docs in developer guide by @likewhatevs in #727
- Run integration tests against bpf-next kernel every 6 hrs. by @likewhatevs in #726
- scx_rusty: fix single dom short-circuit by @frelon in #731
- scx_layered: Add per layer time slices to stats by @minosfuture in #732
- scx_layered: Refactor topology algorithms to a separate module by @minosfuture in #737
- scx_layered: Add per layer weights by @hodgesds in #735
- Replace PID with Task Pointer in Rusty by @likewhatevs in #713
- scx_lavd: split main.bpf.c into multiple files by @multics69 in #736
- scx_bpfland: rework lowlatency mode by @arighi in #741
- scx_layered: Add big cpumask by @hodgesds in #743
- scx_layered: Use idle smt mask for idle selection by @hodgesds in #740
- scx_layered: Improve perf on non topo aware paths by @hodgesds in #745
- Drop journald from libalpn hooks by @sirlucjan in #742
- scx_loader: Add SwitchScheduler methods to DBUS interface by @vnepogodin in #739
- docs: Add Gentoo installation instructions by @hodgesds in #750
- scx_rusty: Fix BPF crash during CPU hotplug by @ryantimwilson in #751
- scx_layered: Update idle topology selection order by @hodgesds in #747
- scx_layered: lighten/reduce nested loops in layered dispatch by @likewhatevs in #746
- scx_layered: Add doc comment to CpuPool by @minosfuture in #754
- layered: cleanup warnings in bpf compilation by @JakeHillion in #757
- scx_layered: Add stress-ng example layer by @hodgesds in #756
- scx_layered: Make stress-ng non exclusive in example by @hodgesds in #760
- scx_layered: fix ci by @likewhatevs in #764
- scx_bpfland: prevent per-CPU DSQ stall with per-CPU kthreads by @arighi in #755
- scx_layered: enable configuring layer iteration when no topo by @likewhatevs in #765
- [rusty] Fix load stats when host is under-utilized by @ryantimwilson in #763
- scx_layered: Update CI to show stats by @hodgesds in #758
- layered: split dispatch into no_topo version by @JakeHillion in #749
- scx_layered: Rename load_adj statistic by @hodgesds in #766
- layered: attempt to work steal from own llc before others by @JakeHillion in #759
- mitosis: Fix build by @dschatzberg in #767
- scx_layered: Fix verifier errors by @hodgesds in #768
- scx_layered: Cleanup debug messages by @hodgesds in #769
- scx_layered: setup matrix job to run key paths of layered through verifier/stress by @likewhatevs in #770
- scx_layered: Refactor topo preemption by @hodgesds in #771
- scx_bpfland: fix cpumask initialization error by @arighi in #772
- scx_layered: Change default DSQ iter algo by @hodgesds in #776
- scx_layered: Cleanup topology preempt path by @hodgesds in #775
- [layered] Implement reverse weight DSQ algorithm by @ryantimwilson in #777
- layered -- make lsp work nice on util include file by @likewhatevs in #782
- layered: make default value for disable_topology dynamic by @JakeHillion in #786
- layered: move configuration into library component by @JakeHillion in #781
- scx_layered: Cleanup non topology path by @hodgesds in #787
- scx_lavd: mitigate the lock holder preemption problem by @multics69 in #779
- scx_rustland_core: use handle_mm_fault kprobe by @arighi in #785
- scx_bpfland: drop per-cpu DSQs by @arighi in #780
- Add bpftrace script to print vtime distributions across DSQs by @hodgesds in #789
- scx_lavd: do not inspect scx_lavd process itself by @multics69 in #790
- scx_lavd: misc updates by @multics69 in #791
- scripts: Add ftrace perfetto helper scripts by @hodgesds in #792
- scripts: Convert sched ftrace helper scripts to python by @arighi in #796
- scx_layered: Add topology integration test by @hodgesds in #795
- scx_layered: Add LLC integration test by @hodgesds in #797
- Update developer guide with Perfetto info by @hodgesds in #798
- scx_layered: Remove layer iteration by @hodgesds in #801
- scx_mitosis: handle enqueue() on !wakeup by @dschatzberg in #799
- Use per-arch vmlinux.h by @minosfuture in #793
- scx_mitosis: Handle pinned tasks by @dschatzberg in #803
- Revert #793 by @htejun in #809
- scx_rustland fixes and improvements by @arighi in #804
- scx_layered: Refactor refresh cpumasks by @hodgesds in #805
- layered: add RandomTopo layer growth algorithm by @JakeHillion in #814
- layered: make disable_topology arg require equals by @JakeHillion in #815
- remove apt fast from ci setup by @likewhatevs in #817
- scx_rustland_core: update documentation about the new API by @arighi in #816
- scx_bpfland: rework lowlatency mode by @arighi in #813
- scx_rusty: Cleanup cpumask casting by @hodgesds in #820
- scx_layered: Fix crash on aarch64 due to unavailable cache id file by @minosfuture in #744
- scx_lavd: add missing reset_lock_futex_boost() by @multics69 in #818
- scx_rustland: Adjust task's vruntime budget based on latency weight by @arighi in #821
- layered: bpf: add layer kind to layer by @JakeHillion in #826
- scx_layered: fix exit_task ctx lookup err by @likewhatevs in #824
- Use per-arch vmlinux.h v2 by @minosfuture in #819
- scx_lavd: misc performance tuning by @multics69 in #822
- scx_layered: Add timer helpers by @hodgesds in #832
- scx_lavd: fix/work around a verifier error by @multics69 in #831
- fix ci errors due to __str update in kfunc signature by @likewhatevs in #834
- ci: enable verbose mode when testing schedulers by @arighi in #833
- ci: enable SCHED_MC in the virtme-ng kernel config by @arighi in #830
- Revert "fix ci errors due to __str update in kfunc signature" by @htejun in #840
- scx_lavd: various optimizations for more consistent performance by @multics69 in #837
- scx_loader: introduce configuration by @vnepogodin in #843
- Set minimal meson version to silent new warnings by @sirlucjan in #839
- Add script for generating per-arch vmlinux.h files by @minosfuture in #829
- add retries to kernel clone step by @likewhatevs in #844
- scx_layered: Add monitor by @hodgesds in #841
- scx_layered: Fix declarations in timer by @hodgesds in #851
- fix lsp to work after multiarch support by @likewhatevs in #850
- scx_lavd: fix uninitialized memory access at comp_preemption_info() by @multics69 in #846
- layered/timers: support verifying on older kernels and fix logic by @JakeHillion in #852
- ci: enable lockdep in the virtme-ng kernel config by @arighi in #853
- scx_layered: Add ...
v1.0.5
What's Changed
- fix/enable rust tests, make build faster by @likewhatevs in #623
- scx_rustland_core: introduce topology awareness by @arighi in #622
- scx_layered: clean up Layer::new layer_growth_algo by @JakeHillion in #624
- scx_lavd: improve greedy ratio calculation and more by @multics69 in #621
- ci: fix vng command to set the right amount of CPUs by @arighi in #627
- release: Add cargo-publish.py by @htejun in #628
- scx_rustland_core: move includes back to the lib section by @arighi in #629
- split integration test execution by @likewhatevs in #632
- build: Use a single top-level rust workspace by @htejun in #635
- enable docs generation and upload by @likewhatevs in #633
- scx_bpfland: use sum_exec_runtime to evaluate task's used time slice by @arighi in #640
- remove dependency on rlimit.rs by @likewhatevs in #638
- migrate ci vm to 24.04 by @likewhatevs in #641
- scx_layered: Fix typo in stats by @samuelnair in #642
- scx_layered: Pass layer spec for core growth algo by @hodgesds in #644
- scx_bpfland: Documentation consistency fix by @anh0516 in #634
- scx_rusty: init domains when calculating averages by @frelon in #645
- lint: enable cargo fmt by @JakeHillion in #643
- scx_layered: Add random layer growth algo by @hodgesds in #651
- update Tumbleweed installation notes by @frelon in #650
- scx_layered: Add topology aware core growth selection by @hodgesds in #649
- scx_layered: Add stats for XNUMA/XLLC migrations by @hodgesds in #648
- scx_lavd: add a short circuit for the case of no turbo core by @multics69 in #653
- scx_lavd: boost the latency-criticality of kernel threads by @multics69 in #654
- scx_bpfland: refine idle CPU selection logic by @arighi in #655
- scx_layered: add round robin growth strategy by @JakeHillion in #652
- scxstats_to_openmetrics: fix format string by @JakeHillion in #657
- scx_rustland_core: improve idle CPU selection API and logic by @arighi in #658
- scx_rustland_core: prevent CI failures by @arighi in #662
- scx_rustland_core: Access the returned value of saturating_sub() by @vax-r in #665
- scx_layered: Refactor match_layer() and implement helper function to access cpumask within bpf_cpumask by @vax-r in #664
- scx_bpfland: Remove the usage of cast_mask in bpfland_enqueue by @vax-r in #663
- scx_lavd: consider waker's CPU when ops.select_cpu() by @multics69 in #669
- scx_layered: Add a hi fallback dsq per llc by @hodgesds in #449
- scx_layered: Add Big/Little core growth algos by @hodgesds in #667
- scx_layered: Add topology aware preemption by @hodgesds in #666
- scx_lavd: find a victim cpu for preemption within task's compute domain by @multics69 in #670
- scx_layered: Add waker stats per layer by @hodgesds in #671
- scx_layered: Cleanup dump format by @hodgesds in #675
- scx_lavd: propagate waker's latency criticality to its wakee by @multics69 in #673
- scx_common_bpf: Append cast_mask() by @vax-r in #679
- add 'continue on error' to stress tests in ci jobs by @likewhatevs in #680
- scx_layered: Restrict preemption to layer cpumask by @hodgesds in #681
- clean up ci/make ci nicer by @likewhatevs in #682
- scx_layered: Make layered idle CPU selection topology aware by @hodgesds in #683
- enable ide's etc. to work on the bpf.c files by @likewhatevs in #668
- scx_rustland_core: fix mm stall by @arighi in #678
- enable build and test outside src dir by @likewhatevs in #685
- scx_loader: Add initial automatic scheduler switching via --monitor-no-dbus by @MitchellAugustin in #676
- scx_utils: Add gpu-topology crate feature by @frelon in #686
- scx_layered: Add layer growth algo to layer bpf config by @hodgesds in #687
- enable bpftrace when using stress tests by @likewhatevs in #688
- run cargo fmt to make ci green by @likewhatevs in #691
- Sync from kernel and re-enable scx_flatcg and scx_pair by @htejun in #692
- Setup "debugging" and misc cleanup by @likewhatevs in #695
- do not cache fast jobs dependencies by @likewhatevs in #697
- scx_layered: Fix idle core selection by @hodgesds in #696
- ci: enable on merge_group action by @JakeHillion in #698
- dev_guide: document cargo fmt by @JakeHillion in #699
- fix artifact names to work with merge queue naming by @likewhatevs in #700
- scx_loader: Add systemd service and on-DBUS launch by @vnepogodin in #693
- scx_lavd: more accurately determine the performance criticality threshold by @multics69 in #702
- scx_lavd: fix two potential bugs by @multics69 in #704
- scx_layered: Fix cache initialization by @hodgesds in #708
- Revert "scx_rustland_core: prevent deadlock with per-CPU DSQs and CPU… by @arighi in #706
- scx_bpfland small fixes and improvements by @arighi in #709
- scx_stats: Implement macro #stat_doc to autogen doc from stat desc by @minosfuture in #703
- scx_loader: Add D-Bus Introspection XML by @vnepogodin in #707
- scx_layered: Fix compiler warnings by @hodgesds in #711
- Add #stat_doc attribute macro to Stats structs by @minosfuture in #712
- Mention wiki in the README by @parttimenerd in #718
- scx_rusty: Delete unused function variable by @vax-r in #717
- scx_lavd: Fix typo by @vax-r in #716
New Contributors
- @likewhatevs made their first contribution in #623
- @JakeHillion made their first contribution in #624
- @samuelnair made their first contribution in #642
- @MitchellAugustin made their first contribution in #676
- @minosfuture made their first contribution in #703
- @parttimenerd made their first contribution in #718
Full Changelog: v1.0.4...v1.0.5