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
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1716
- scx_utils: Fix incorrect handling of CPU IDs on multi-NUMA machines. by @multics69 in #1717
- ci.py: run black and isort on self by @JakeHillion in #1718
- ci.py: switch to cargo-nextest by @JakeHillion in #1719
- p2dq/chaos: expose bpf file contents from p2dq crate by @JakeHillion in #1720
- scx_utils/scx_chaos/scx_p2dq: bump versions by @JakeHillion in #1721
- scxtop: Add mangoapp TUI view by @hodgesds in #1713
- ci.py: format nix files by @JakeHillion in #1722
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1726
- scx_lavd: get cpu context of scx_bpf_task_cpu in running by @JakeHillion in #1728
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1727
- scx_utils, scx_lavd: Group CPUs in the same performance domain. by @multics69 in #1725
- scx_lavd: Improve handling of synchronous wake-up. by @multics69 in #1729
- ci: update ubuntu installations to clang 19 by @JakeHillion in #1730
- scx_p2dq: introduce arenas by @etsal in #1712
- scx_lavd: Get the right CPU context from ops.stopping() by @arighi in #1732
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1735
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1734
- scx_lavd: Refactor the use of get_cpu_ctx(). by @multics69 in #1733
- scx_p2dq: Fix context lookup in stopping by @hodgesds in #1738
- scx_layered: add cpuset based growth algos by @likewhatevs in #1723
- scxtop: attach dsq bpf programs on kernels < 6.13 by @tyroguru in #1739
- scx_layered: allow protected CPUs to pull tasks from the low fallback queues by @etsal in #1740
- scx_utils, scxtop: Bindgen perf event by @frelon in #1737
- Revamp scx_rustland by @arighi in #1736
- layered: verifier fix by @likewhatevs in #1742
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1744
- ci: refactor integration-tests part of workflows to reduce duplication by @JakeHillion in #1748
- rust: set lto to thin by @likewhatevs in #1745
- chore(deps): nix lock file maintenance by @JakeHillion in #1750
- ci: track 6.12 lts kernel and test it 6-hourly by @JakeHillion in #1751
- scx_p2dq: Update slice accounting by @hodgesds in #1752
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1757
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #1758
- scx_rustland_core: Support queued wakeups by @arighi in #1754
- scxtop: Fix ksym check for compatibility by @hodgesds in #1756
- scx_bpfland: Remove extra call to scx_bpf_now by @hodgesds in #1759
- Bump rust to 2024 by @likewhatevs in #1746
- rust_utils: read_file_byte() simplify units handling. by @devnexen in #1760
- scx_rustland_core: Reduce overhead and maximize CPU utilization by @arighi in #1762
- Revert "scx_rustland_core: Maximize CPU utilization" by @arighi in #1764
- scheds/c: Validate CPU count from libbpf by @EricccTaiwan in #1749
- scx_rlfifo: Fix CPU assignment logic by @EricccTaiwan in #1765
- rustland_core: Update README for CPU assignment by @EricccTaiwan in #1766
- scx_p2dq: Account for niceness in vtime scaling by @hodgesds in #1763
- scx_utils, scx_lavd: Properly handle task's niceness. by @multics69 in #1768
- scxtop: Add default perf event configuration by @hodgesds in #1755
- scx_rustland_core: Improve CPU utilization by @arighi in #1769
- ci.py: remove nix dependency from path and add experimental features flag by @JakeHillion in #1770
- scx_utils: Fix a warning around nice_to_weight(). by @multics69 in #1771
- scx_rustland_core: Periodically wakeup user-space scheduler by @arighi in #1772
- scx_rustland: Update doc and default settings by @arighi in #1773
- scx_rlfifo: Clarify Round-Robin scheduling by @EricccTaiwan in #1774
- scx_utils, scx_lavd: Revert "Properly handle task's niceness." by @multics69 in #1775
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1777
- scx_p2dq: Fix nice handling by @hodgesds in #1776
- scx_rustland_core: Move mandatory scheduler options to BPF by @arighi in #1778
- add cargo fmt git hook by @likewhatevs in #1761
- partially revert "migrate to rust 2024, minimal fixes to build all" by @JakeHillion in #1779
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1782
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1783
- scx_rustland_core: Update documentation by @arighi in #1780
- scx_rustland_core: Reuse task vtime during direct dispatch by @arighi in #1785
- scx_lavd: Common case optimizations for ops.dispatch() and more. by @multics69 in #1784
- ci: add timeout to integration-tests by @JakeHillion in #1787
- scx_rustland: Evaluate used time slice based on partial exec runtime by @arighi in #1786
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1789
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1788
- ci: squash layered matrix by @JakeHillion in #1793
- layered: add suffix matcher by @likewhatevs in #1781
- ci: disable rustland test on stable kernels by @JakeHillion in #1795
- lib/sdt_alloc: introduce stack and buddy page allocators by @etsal in #1657
- scx_layered: add runtime-based task placement hints by @etsal in #1753
- scx_utils: Add header for scx_bpf_select_cpu_and() by @arighi in #1790
- scx_rustland_core: Remove unnecessary CPU wakeup from rs_select_cpu() by @arighi in #1791
- scxtop: Make stats client optional to avoid panic by @EricccTaiwan in #1796
- scx_lavd: Reduce the preemption overhead and more. by @multics69 in #1798
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1799
- scx_nest: Fix build error by @arighi in #1801
- scxtop: Switch from char to u8 by @frelon in #1804
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #1806
- scx_lavd: Do not deprioritize a new task. by @multics69 in #1807
- scx_rustland_core: fix nr_queued not decremented after dequeue by @EricccTaiwan in #1809
- Fix typo by @EricccTaiwan in #1810
- scx_p2dq: Always update dsq_id when enqueuing tasks by @hodgesds in #1808
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #1805
- README: fix inconsistent formatting by @EricccTaiwan in #1813
- Fix typos in doc and comments by @EricccTaiwan in #1814
- scxctl: simplifications through using rust idioms. by @devnexen in #1811
- scx_p2dq: Make interactive sticky work again by @hodgesds in #1802
- scx_layered: Support task hint map by @kkdwivedi in #1792
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #1815
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1816
- doc: fix typos and formatting in README by @EricccTaiwan in #1818
- scx_rustland_core: Forbid mmap() syscall by @arighi in #1812
- scx_layered: Consume task_hint::hint for controlling vruntime advancement by @kkdwivedi in #1817
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1820
- scx_lavd: Clean up command line options. by @multics69 in #1823
- scx_tickless: Improve scheduling timer by @arighi in #1822
- docs: fix typos and format scheduler names by @EricccTaiwan in #1824
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1830
- scx_p2dq: Refactor slice handling by @hodgesds in #1829
- scx_userspace_arena: add api to allocate from arenas in userspace by @JakeHillion in #1819
- scx_rustland: replace
or_insert_with_key
withor_insert
by @EricccTaiwan in #1831 - chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1836
- scx_userspace_arena: set edition to 2021 by @JakeHillion in #1838
- scx_rustland_core : remove duplicated sentence by @EricccTaiwan in #1837
- layered: dont preempt if policy is not sched_ext by @likewhatevs in #1828
- layered: use passed in p instead of bpf_task_from_pid by @likewhatevs in #1832
- scx_p2dq: Fix accounting for long running tasks by @hodgesds in #1839
- scx_p2dq: Try to keep affinitized tasks sticky by @hodgesds in #1840
- scx_tickless: Avoid distributing tasks on scheduling CPUs by @arighi in #1842
- scx_p2dq: Keep non-interactive tasks sticky by @hodgesds in #1845
- layered: cleanup skip-preempt by @likewhatevs in #1843
- meson: requiring libseccomp to fix linking issue. by @devnexen in #1846
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1847
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #1848
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #1849
- release: v1.0.12 by @htejun in #1851
New Contributors
- @metin-arm made their first contribution in #1587
- @jalil-salame made their first contribution in #1669
- @EricccTaiwan made their first contribution in #1749
Full Changelog: v1.0.11...v1.0.12