Releases: sched-ext/scx
Releases · sched-ext/scx
v0.1.10
What's Changed
- Sync to the latest kernel by @htejun in #253
- ci: Also include gcc-multilib to fix CI by @Byte-Lab in #256
- scx_rustland_core: relax compact unevictable memory constraint by @arighi in #255
- scx_rustland: bump up version to 0.0.6 by @arighi in #257
- Fix issue when CDPATH contains libbpf directory by @hodgesds in #259
- Update README with instructions for building against local libbpf by @hodgesds in #258
- scx_rusty: load balancing fixes by @danieljordan10 in #260
- Update README with Slack invite link by @hodgesds in #262
- Make scx_rusty interactive by @Byte-Lab in #261
- ci: enable kvm support in the github workflow by @arighi in #265
- common: Pull bpf_log2l() into helper function header by @Byte-Lab in #264
- INSTALL: Add instructions for Nix by @ptr1337 in #267
- README: Add missing link to Nix Install instructions by @ptr1337 in #268
- scx_lavd: support CPU frequency scaling by @multics69 in #263
- rusty: Support CPU hotplug onlining by @Byte-Lab in #266
- Fix typo by @vax-r in #271
- scx_rustland_core: use a BPF_MAP_TYPE_USER_RINGBUF to dispatch tasks by @arighi in #270
- systemd-service: Don't restart always by @ptr1337 in #273
- scx_lavd: support yield-based preemption by @multics69 in #274
- scx_utils: report an explicit error when another scheduler is running by @arighi in #276
- INSTALL.md: Add info about debug kernel on arch based by @ptr1337 in #277
- topology: Support CONFIG_NUMA=n in Topology crate by @Byte-Lab in #278
- rustland: reduce scheduling overhead by @arighi in #272
- scx_rustland: maximize CPU utilization by @arighi in #279
- scx_rustland: properly support offline CPUs by @arighi in #281
- Add pacman hooks for systemd by @sirlucjan in #282
- scx_lavd: add non-functional misc updates by @multics69 in #283
- Fix typo by @vax-r in #284
- scripts: Add script to measure runqlat for a process by @jfernandez in #285
- scripts: whitespace cleanup for process_runqlat.bt by @jfernandez in #288
- journal.conf: increase the size of the logs and drop unneeded options by @sirlucjan in #287
- Avoid redundant substraction in rsigmoid_u64 by @vax-r in #290
- scx_rustland: introduce low power mode by @arighi in #286
- Add remaining hotplug pieces by @Byte-Lab in #289
- Add missing skel.attach() calls by @htejun in #293
- Sync from kernel (73f4013eb1eb) by @htejun in #291
- scx_lavd: fix inconsistent indentation in main.bpf.c by @multics69 in #295
- Fix warnings by @Byte-Lab in #294
- meson: fix a build error for libbpf at release build by @multics69 in #297
- Build: Make -Werror non-default by @Byte-Lab in #302
- scx_simple: re-add __COMPAT_scx_bpf_switch_all() by @arighi in #298
- simple: Add comment explaining use of SHARED_DSQ by @Byte-Lab in #303
- meson: fix a build error for libbpf at release build by @sirlucjan in #301
- Add pacman hooks for openrc by @sirlucjan in #300
- scx_rustland: cleanups by @arighi in #299
- scx_flatcg: Correct content error in comment by @vax-r in #304
- scx_rustland: introduce fifo mode by @arighi in #305
- scx_rustland: fix fifo mode support by @arighi in #306
- scx_rustland: improve audio workload and performance predictability by @arighi in #307
- Reduce MAX_ENQUEUED_TASKS to fit percpu allocator by @RinHizakura in #310
- Update INSTALL.md with fedora c scheds info by @jordalgo in #311
- scx_central: Provide backward compability by @vax-r in #314
- scx_lavd: Enforce memory barrier in flip_sys_cpu_util by @vax-r in #318
- Add openSUSE installation notes by @frelon in #316
- Revert "scx_lavd: Enforce memory barrier in flip_sys_cpu_util" by @multics69 in #321
- scx_layered: Improve affn_viol handling and implement dump method by @htejun in #312
- scx_rustland_core: fix build error with musl by @arighi in #320
- Document the needed BPF kernel config by @aruhier in #323
- scx_lavd: Adding READ_ONCE()/WRITE_ONCE() macros by @vax-r in #322
- README: Adding dependencies to allow compilation by @sirlucjan in #326
- scx_rustland: get rid of --builtin-idle option by @arighi in #325
- Bump versions for a release by @htejun in #327
New Contributors
- @danieljordan10 made their first contribution in #260
- @ptr1337 made their first contribution in #267
- @vax-r made their first contribution in #271
- @jfernandez made their first contribution in #285
- @RinHizakura made their first contribution in #310
- @frelon made their first contribution in #316
- @aruhier made their first contribution in #323
Full Changelog: v0.1.9...v0.1.10
v0.1.9
What's Changed
- scx_lavd: Add .gitignore by @htejun in #215
- systemd: Move services to separate directory by @sirlucjan in #216
- scx_rustland_core: separate crate source code from assets by @arighi in #217
- scx_rustland_core: bump up version to 0.2 by @arighi in #219
- Gracefully handle hotplug in scx_rusty by @Byte-Lab in #218
- meson: Add missing path to libbpf_local_h. by @ThinkerYzu in #220
- meson.build: Update libbpf and bpftool version requirements by @htejun in #221
- Sync libbpf_h and libbpf_local_h by @jordalgo in #222
- scx_lavd: support preemption (in some scenarios) by @multics69 in #224
- Fix error typo by @dschatzberg in #225
- rusty: Allocate DSQ on appropriate NUMA node by @Byte-Lab in #226
- Small rusty cleanup by @Byte-Lab in #228
- rusty: Remove explicit padding by @Byte-Lab in #229
- README: update additional resources by @arighi in #230
- simple: Invoke __COMPAT_scx_bpf_switch_all(); by @Byte-Lab in #231
- lavd: Fix a few typos by @Byte-Lab in #232
- layered: Fix init_task by @Byte-Lab in #233
- scheds-rust: build rust schedulers in sequence by @takase1121 in #236
- rustland: enable preemption by @arighi in #235
- layered: Add ability to match by process name by @Byte-Lab in #240
- topology: Don't allocate on calls to span() by @Byte-Lab in #241
- Add CPU frequency related helpers and extend scx_layered by @hodgesds in #239
- layered: Make layered backwards compat with cpufreq by @Byte-Lab in #243
- scx_rustland: reduce overhead by caching host topology by @arighi in #238
- scx_lavd: fix copyright information by @multics69 in #245
- scx_lavd: use c_char consistently by @arighi in #246
- rustland: bump up version by @arighi in #248
- scx-utils: bump up version to 0.8.0 by @arighi in #249
- scx_lavd: always inline submit_task_ctx to make the verifier happy by @multics69 in #247
- scx_lavd: replesih time slice at ops.running() only when necessary by @multics69 in #250
- Bump versions to prepare for a release by @htejun in #252
New Contributors
- @ThinkerYzu made their first contribution in #220
- @takase1121 made their first contribution in #236
- @hodgesds made their first contribution in #239
Full Changelog: v0.1.8...v0.1.9
v0.1.8
What's Changed
- README: drop reference to old ABI /sys/kernel/debug/sched/ext by @arighi in #140
- scx_rustland: improve kernel/user-space communication by @arighi in #142
- scx_rustland: prevent misaligned pointer dereference by @arighi in #144
- rust: Add topology module to utils crate by @Byte-Lab in #143
- scx_rustland: additional comand line options by @arighi in #145
- Add libbpf logging to rust schedulers by @jordalgo in #141
- scx: Demote panic! to warn! in topology crate by @Byte-Lab in #146
- layered: Fix static configuration, and dispatch for Grouped layers by @Byte-Lab in #148
- Refresh after attach by @Byte-Lab in #150
- scx_layered: Add MATCH_NICE_EQUALS match kind by @davemarchevsky in #149
- Add cpumask.rs crate by @Byte-Lab in #152
- Topology refactor by @Byte-Lab in #154
- scheds/sync-to-kernel.sh: Warn and skip if destination file is missing instead of failing by @htejun in #156
- scx_rustland: cpu topology refactoring by @Byte-Lab in #155
- common: Cosmetic change for consistency by @htejun in #157
- sync-to-kernel.sh: Sync scx_central and scx_flatcg by @htejun in #158
- ci: eclude scx_qmap and scx_userland from testing by @arighi in #160
- Gate cargo build options behind 'enable_rust' by @jordalgo in #162
- Add new infeasible.rs crate by @Byte-Lab in #159
- Introduce scx_rustland_core: a generic layer to implement user-space schedulers in Rust by @arighi in #161
- scx: update /etc/default/scx by @sirlucjan in #164
- build: limit the maximum amount of parallel cargo build by @arighi in #165
- Add libbpf as a submodule by @jordalgo in #163
- Revert "Merge pull request #163 from jordalgo/libbpf-submodule" by @htejun in #166
- Revert "Merge pull request #165 from sched-ext/reduce-rust-build-load" by @htejun in #167
- Add libbpf as a submodule (take 2) by @jordalgo in #168
- scx_rustland_core: API improvements by @arighi in #169
- meson-scripts/build_libbpf: Accommodate meson setting CC to "ccache $COMPILER" by @htejun in #170
- scx_rlfifo: warn user about performance by @arighi in #173
- Always build libbpf as a PIE by @jordalgo in #172
- Libbpf - add BUILD_STATIC_ONLY flag by @jordalgo in #174
- [trivial] docs: Update rhone link by @Byte-Lab in #175
- Remove libbpf as a submodule by @jordalgo in #177
- Update README.md by @htejun in #182
- scx_rustland_core: use new consume_raw() libbpf-rs API by @arighi in #180
- scx_rustland: interactive tuning by @arighi in #181
- Revert "scx_rustland_core: use new consume_raw() libbpf-rs API" by @arighi in #183
- Fetch and build bpftool by default by @jordalgo in #179
- rusty: Implement NUMA-aware load balancing by @Byte-Lab in #178
- scx_flatcg: Keep cgroup rb nodes stashed by @davemarchevsky in #33
- scx_layered: Implement layer properties
exclusive
andmin_exec_us
by @htejun in #185 - scx_layered: Make config json assume default vaules for unspecified fields by @htejun in #187
- Better parsing for clang version by @leitao in #190
- scx_rustland: mitigate sub-optimal performance with offline CPUs by @arighi in #189
- rusty: Account for disabled but offline CPUs by @Byte-Lab in #191
- topology: support single CPU systems by @arighi in #188
- scx_lavd: add LAVD (Latency-criticality Aware Virtual Deadline) scheduler by @multics69 in #192
- scx: update /etc/default/scx by @sirlucjan in #193
- scx_lavd: addressed comments from PR #192 by @multics69 in #194
- topology: Fall back to cache 0 by @Byte-Lab in #196
- layered: Make helper functions static by @Byte-Lab in #198
- scx_lavd: improve virtual deadline calculation by @multics69 in #197
- layered: Use TLS map instead of hash map by @Byte-Lab in #200
- scx_lavd: Clean up task state transition tracking by @htejun in #199
- scx_lavd: fix merge conflicts between PR 197 and 199 by @multics69 in #201
- scx_lavd: directly accumulate task's runtimes for consecutive runnings by @multics69 in #204
- rusty: Check LOCAL_DSQ length for WAKE_SYNC by @Byte-Lab in #206
- scx: Apply API updates from sched_ext by @htejun in #207
- Update cachyos-keyring by @sirlucjan in #208
- Update Arch install instruction in README.md by @htejun in #209
- Add install instructions for Fedora by @jordalgo in #210
- Doc & build: Warn about sccache by @htejun in #212
- openrc init support by @nycko123 in #211
- ci: make test build more robust by @arighi in #213
- scx_rustland_core: re-introduce consume_raw() libbpf-rs API by @arighi in #214
New Contributors
- @davemarchevsky made their first contribution in #149
- @leitao made their first contribution in #190
- @nycko123 made their first contribution in #211
Full Changelog: v0.1.7...v0.1.8
v0.1.7
What's Changed
- Bump versions by @htejun in #105
- ci: print the latest commit of the checked out sched-ext kernel by @arighi in #106
- scx_layered: Fix AFFN_VIOL stat bump by @dschatzberg in #107
- systemd-services: setting conflict between schedulers by @sirlucjan in #108
- Reworking systemd-service and adding a config file by @sirlucjan in #109
- Make meson.build more readable by @sirlucjan in #112
- scx_layered: small idle_cpumask cleanups by @dschatzberg in #111
- Add BREAKING_CHANGES.md by @jordalgo in #113
- [scx_layered] downgrade prometheus-client by @jordalgo in #115
- scx_layered: dispatch from select_cpu if possible by @dschatzberg in #114
- Add user_exit_info support to scx_utils and convert the rust scheds accordingly by @htejun in #116
- docs: Update OVERVIEW to match latest APIs by @Decave in #118
- scx_rustland: per-CPU DSQs + global shared DSQ by @arighi in #110
- scheds/sync-to-kernel.sh: Drop most schedulers from sync by @htejun in #119
- Include libbpf_h path in c sched compilation by @jordalgo in #120
- scx_rustland: prevent duplicate PIDs in the task BTreeSet by @arighi in #121
- common.bpf.h: Add kfunc prototype for scx_bpf_dispatch_cancel() by @htejun in #122
- scx_userland: Print warning about poor performance by @Decave in #124
- ci: Only do CI runs for pull requests by @Decave in #125
- Add linux-sched-ext to CachyOS repo by @sirlucjan in #126
- ci: detect errors only from stderr by @arighi in #128
- scx: Update vmlinux to use SCX_KICK_IDLE by @htejun in #131
- scx_rustland: fix cpumask stall and prevent stuttery behavior by @arighi in #132
- Implement solution to infeasible weights problem by @Decave in #129
- scx_rustland: per-task cpumask generation counter by @arighi in #133
- scx_rustland: performance improvements by @arighi in #136
- scx_utils: use c_char to prevent build failures by @arighi in #137
- Bump to 0.1.7 by @sirlucjan in #138
Full Changelog: v0.1.6...v0.1.7
SCX v0.1.6
What's Changed
- scx_rustland: small updates by @arighi in #77
- ci: temporarily switch to ppa:arighi/sched-ext-unstable by @arighi in #78
- scx_rustland: time slice boost by @arighi in #81
- scx_flatcg: introduce CGROUP_MAX_RETRIES by @arighi in #80
- scx_flatcg: Fix fallout from direct dispatch API update by @htejun in #82
- scx_rustland: Update README.md by @htejun in #83
- Update README.md to include terraria video by @htejun in #84
- scx_rustland: voluntary context switch boost by @arighi in #85
- scx_rustland: remove obsolete TODO note by @arighi in #86
- scx_userland: use a custom memory allocator to prevent page faults by @arighi in #87
- scx_rustland: introduce SMT support by @arighi in #90
- Add systemd services for scx schedulers by @sirlucjan in #88
- scx_rustland: introduce dynamic slice boost by @arighi in #91
- scx_nest: Set timer callback after cancelling by @Decave in #92
- scx-rustland: SMT improvements by @arighi in #94
- Set log size to 10M by @sirlucjan in #93
- ci: test the shedulers with the latest sched-ext kernel by @arighi in #95
- Set the correct value for sched-ext journald namespace by @sirlucjan in #97
- Update descriptions in cargo toml files by @jordalgo in #98
- scx_rustland: fixes to improve scheduler stability by @arighi in #99
- Add README.md for systemd services by @sirlucjan in #100
- systemd-services: replace ConditionPathExists with ConditionPathIsDirectory by @sirlucjan in #102
- Update vmlinux.h by @dschatzberg in #103
- user_exit_info: Print out debug dump if available by @htejun in #104
- scx_layered: Add support for OpenMetrics format by @dschatzberg in #101
New Contributors
- @dschatzberg made their first contribution in #103
Full Changelog: v0.1.5...v0.1.6
SCX v0.1.5
What's Changed
- scx_rustland: add documentation to scheds/rust/README.md by @arighi in #55
- scx_rustland: reduce scheduler overhead by @arighi in #56
- scx_rustland: improve scheduler cpu selection by @arighi in #57
- scx_rustland: prevent dispatching multiple tasks on the same idle cpu by @arighi in #58
- scx_rustland: lowlatency improvements by @arighi in #59
- scx_rustland: prevent starvation and improve responsiveness by @arighi in #60
- scx_rustland: notify user-space scheduler about exiting tasks by @arighi in #61
- test the schedulers in the github workflow using virtme-ng by @arighi in #51
- scheds: c: improve build portability by @arighi in #62
- Userland scheduler updates by @Decave in #63
- scx_rustland: improve interactive workloads by @arighi in #64
- Add new archs for bpf_builder by @jordalgo in #65
- Improve scx_rustland reliability by @arighi in #66
- Add README files for each rust scheduler by @jordalgo in #67
- scx_rustland: refactoring by @arighi in #68
- bump scx_rusty and scx_layered by @jordalgo in #71
- scx_rustland: enhancements by @arighi in #72
- scx_rustland: dynamic time slice by @arighi in #73
- scx_rustland: multicore fixes by @arighi in #74
- scx: Build fix after kernel update by @htejun in #75
- Bump versions by @htejun in #76
Full Changelog: v0.1.4...v0.1.5
SCX v0.1.4
What's Changed
- scx_rustland improvements by @arighi in #47
- scx_rustland: clarify and improve BPF / userspace interlocking by @arighi in #48
- scx_rustland: introduce update_idle callback by @arighi in #52
- Downgrade bindgen to 0.68 by @jordalgo in #50
- Suppress the deprecation warning from bindgen and bump versions by @htejun in #53
Full Changelog: v0.1.3...v0.1.4
SCX v0.1.3
What's Changed
- scx_userland: allocate tasks array based on kernel.pid_max by @arighi in #29
- make scx_userland more robust by @arighi in #30
- minor refactor of scx_rusty by @jordalgo in #31
- scx_utils: Update libbpf-cargo to 0.22 by @danielocfb in #32
- Revert "scx_utils: Update libbpf-cargo to 0.22" by @htejun in #35
- Update meson install in readme by @jordalgo in #34
- rust: Update libbpf-rs & libbpf-cargo to 0.22 by @danielocfb in #36
- Restructure scheds folder names by @jordalgo in #37
- Fix some things in Nest by @Decave in #39
- scx: Add CI action that builds schedulers for PRs by @Decave in #40
- Update README for additional resources (blog posts and articles) by @multics69 in #41
- ci: Run CI job on Ubuntu 22.04 by @Decave in #43
- scx_rustlite: simple vtime-based scheduler written in Rust by @arighi in #38
- scx_rustland: rename from scx_rustlite by @arighi in #44
New Contributors
- @danielocfb made their first contribution in #32
- @multics69 made their first contribution in #41
Full Changelog: v0.1.2...v0.1.3
SCX v0.1.2
What's Changed
- Update readme with alt meson install instructions by @jordalgo in #16
- Support offline compilation by @htejun in #17
- scx_nest: Reset schedulings when a task is dispatched by @Decave in #18
- build scx on 32-bit architectures by @arighi in #21
- scx_rusty: fix "subtract with overflow" error by @arighi in #20
- build: introduce enable_rust build option by @arighi in #22
- build: add Debian arch name mapping for s390 by @arighi in #23
- README: Add ubuntu instructions by @htejun in #24
- Update README for ubuntu instructions by @jordalgo in #25
- scx_central: Break dispatch_to_cpu loop when running out of buffer slots by @kkdwivedi in #26
- rust: clarify license and include text by @davide125 in #27
- Bump versions and add LICENSE symlinks for scx_layered and scx_rusty by @htejun in #28
New Contributors
- @jordalgo made their first contribution in #16
- @kkdwivedi made their first contribution in #26
- @davide125 made their first contribution in #27
Full Changelog: v0.1.1...v0.1.2
SCX v0.1.1
What's Changed
- README: Add instructions for Arch Linux by @htejun in #7
- Readme by @Decave in #8
- build: properly detect clang version in Ubuntu by @arighi in #11
- rusty: Fix calc_util() in rusty by @Decave in #9
- scx_nest: Add scx_nest scheduler by @Decave in #12
- scx_utils::BpfBuilder: properly detect clang version in Ubuntu by @arighi in #13
- scx_utils: Bump version to 0.3.2 by @htejun in #14
- Bump overall version to 0.1.1 by @htejun in #15
New Contributors
Full Changelog: v0.1.0...v0.1.1