Skip to content

Releases: sched-ext/scx

v1.0.11

03 Apr 01:16
dcfc954
Compare
Choose a tag to compare

What's Changed

Read more

v1.0.10

06 Mar 18:57
c0d26f9
Compare
Choose a tag to compare

What's Changed

Read more

v1.0.9

04 Feb 22:18
Compare
Choose a tag to compare

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 ...
Read more

v1.0.8

16 Dec 23:42
dda32c7
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.0.7...v1.0.8

v1.0.7

06 Dec 23:35
Compare
Choose a tag to compare

What's Changed

Read more

v1.0.6

06 Nov 20:23
607dfab
Compare
Choose a tag to compare

What's Changed

Read more

v1.0.5

02 Oct 19:00
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.0.4...v1.0.5

v1.0.4

06 Sep 04:14
fb35fdb
Compare
Choose a tag to compare

What's Changed

  • scx_layered: Drop SCX_OPS_ENQ_LAST by @htejun in #534
  • scx_bpfland: better time slice control by @arighi in #535
  • scx-scheds: set scx_bpfland as default scheduler by @sirlucjan in #537
  • scx_bpfland: introduce --lowlatency option by @arighi in #536
  • scx_layered: Add pid/ppid matches by @hodgesds in #538
  • scx_rusty: Convert to scx_stats by @htejun in #539
  • scx_bpfland: cpu frequency and energy awareness by @arighi in #540
  • scx-scheds: Update scx_bpfland suggested flags by @sirlucjan in #541
  • scx_bpfland, scx_lavd: Improve help info a bit by @anh0516 in #543
  • scx_lavd: Fix my own formatting error in #543 scx_rusty: help info and README cleanup by @anh0516 in #547
  • scx_bpfland: always honor average nvcsw in lowlatency mode by @arighi in #545
  • scx_layered: Add layer match for tgid by @hodgesds in #544
  • get_clang_ver: Fix regex for LLVM RC Versions by @ptr1337 in #550
  • scx_stats, scx_rusty, scx_layered: Implement --help-stats by @htejun in #542
  • scx_lavd: Drop message about unsupported multi-CXX support by @ptr1337 in #552
  • scx_lavd: Switch introspection to use scx_stats by @htejun in #553
  • scx_lavd, scx_stats: Remove unnecessary messages by @htejun in #554
  • scx_stats: Shorten exported names and add prelude module by @htejun in #555
  • scx_bpfland: Use scx_stats by @htejun in #556
  • scx_stats: Make StatsServerData::describe_meta() output more readable by @htejun in #557
  • scx_rustland_core: user-space framework refactoring by @arighi in #548
  • build: Use workspace to group rust sub-projects by @htejun in #559
  • scx_bpfland: prevent reading energy profile if not available by @arighi in #561
  • scx_utils: Add retryable errors by @hodgesds in #549
  • scx_lavd: move time slice calculation to ops.enqueue() and ops.select_cpu() and more by @multics69 in #558
  • version-tool: Avoid exception by skipping workspace cargo files by @htejun in #562
  • scx_rustland_core: small core design improvements by @arighi in #568
  • scx_layered: Update help for tgid matching by @hodgesds in #564
  • scx_lavd: prioritize the turbo boost-able cores by @multics69 in #566
  • scx_lavd: make a loop easier to correctly verify by @multics69 in #571
  • scx_bpfland: fix turbo boost domain nullifying primary domain limits by @arighi in #572
  • scx_layered: Clean up in-code documentation; add commas for consistency by @anh0516 in #569
  • scx_utils: Add Big/Little core logic to Topology by @hodgesds in #570
  • scx_bpfland: rely on Topology to classify CPU types by @arighi in #574
  • scx_lavd: Add power mode clarification to --no-prefer-turbo-core by @anh0516 in #576
  • scx_utils: Add GPU topology by @hodgesds in #575
  • scx_layered: Make verification easier on older kernels by @hodgesds in #579
  • scx_layered: Add per layer timeslice by @hodgesds in #578
  • Layered docs by @hodgesds in #580
  • scx_layered: Update docs for layer slice setting by @hodgesds in #581
  • scx_bpfland: enhanced task affinity by @arighi in #577
  • ci: Remove veristat diff workflow by @hodgesds in #586
  • scx_utils: Add cores helper to node topology by @hodgesds in #585
  • scx_layered: Add layer growth config by @hodgesds in #582
  • scx_lavd: automatically determine power mode and more by @multics69 in #584
  • scx_bpfland: always rely on prev_cpu with single-CPU tasks by @arighi in #583
  • scx_rustland: convert to scx_stats by @arighi in #590
  • scx_lavd: introduce "autopilot" mode and misc. optimization & bug fix by @multics69 in #591
  • scx_layered: Fix layer timeslice not being applied by @hodgesds in #592
  • scx_bpfland: directly dispatch only per-cpu kthreads with local_kthreads by @arighi in #593
  • scx_rustland_core: bump up major version to 2.0.0 by @arighi in #594
  • scx_lavd: improve the autopilot mode by @multics69 in #595
  • scx_lavd: misc updates (verifier, README, monitor option name, and micro-optimization) by @multics69 in #597
  • scx_stats: Drop sched-ext namespace by @sirlucjan in #573
  • scx_rustland: aggressively prioritize interactive tasks by @arighi in #599
  • scx_helpers: Add pid namespace helpers by @hodgesds in #601
  • ci: bump up virtme-ng memory size from 1GB to 2GB by @arighi in #602
  • scx_rustland_core: fix pcpu kthread stall by @arighi in #603
  • ci: allow parallel builds with meson by @arighi in #604
  • scx_loader: Add scheduler loader via system DBUS interface by @vnepogodin in #565
  • meson: Remove unused meson.build and add targeted builds for libs by @htejun in #606
  • scx_bpfland: improve cpufreq awareness by @arighi in #600
  • scx_rustland_core: avoid critical failures due by missing task context by @arighi in #605
  • openrc: drop separate logs by @sirlucjan in #607
  • scx_layered: Fix stats formatting by @hodgesds in #614
  • scx_bpfland: enable "auto" mode by default by @arighi in #615
  • scx-scheds: update bpflands suggested flags by @sirlucjan in #617
  • scx_bpfland: optimize producer/consumer workloads by @arighi in #618
  • scx_layered: Fix stats typo by @hodgesds in #619
  • scx_lavd: add --monitor flag and two micro-optimizations by @multics69 in #612
  • scx_stats: Add proper logs for LAVD by @sirlucjan in #613
  • version: v1.0.4 by @htejun in #620

New Contributors

Full Changelog: v1.0.3...v1.0.4

v1.0.3

21 Aug 16:47
52d97c0
Compare
Choose a tag to compare

What's Changed

  • rust Updated libbpf-rs & libbpf-cargo to 0.24 by @danielocfb in #436
  • versions: Synchronize crate dependency versions by @htejun in #481
  • README: update list of build dependencies for Ubuntu by @arighi in #482
  • docs: Add developer guide by @hodgesds in #487
  • meson: Add veristat script by @hodgesds in #488
  • scx_rusty: Make layer matching a global function by @hodgesds in #477
  • README: Reflect office hours change of day by @gghh in #492
  • scx_rusty: Fix logical error when filtering tasks by @vax-r in #486
  • lavd: make LAVD core-type (AMP) aware by @multics69 in #489
  • scx_lavd: upgrade nix package from 0.28.0 to 0.29.0 by @multics69 in #493
  • scx_bpfland: primary domain by @arighi in #491
  • scx: Remove unused variables, imports and functions by @vax-r in #484
  • scx_lavd: Build fix by @htejun in #495
  • scx_stat: Initial commit by @htejun in #496
  • scx_layered: Update nr_cpus when resizing layers by @hodgesds in #497
  • scx_stats: Add package metadata and some documentation by @htejun in #498
  • scx_stats: Misc changes to sync dep versions and publish on crates.io by @htejun in #499
  • scx_stats, scx_layered: Add om_prefix attribute and fix s/stat/stats/ stragglers by @htejun in #500
  • scx_stats: Refine scx_stats and implement scxstats_to_openmetrics.py by @htejun in #502
  • scheds/rust: Include Cargo.lock in the repo by @htejun in #503
  • scx_rusty: Fix typo by @vax-r in #504
  • INSTALL: Update Fedora installation docs by @1Naim in #501
  • scx_stats: Add support for no-value user attributes and a bunch of ot… by @htejun in #505
  • meson: Add github action to run veristat by @hodgesds in #494
  • ci: Fix veristat pull request workflow by @hodgesds in #513
  • docs: Update developer guide by @hodgesds in #512
  • scx_layered: Fix uninitialized variable by @vax-r in #506
  • scx_stats, scx_layered: Implement independent stats client sessions by @htejun in #514
  • scx_stats/scripts/scxstats_to_openmetrics: Retry connection by @htejun in #516
  • scx_layered: Fix verification failure by @htejun in #517
  • scx_layered: Use topology for core selection by @hodgesds in #510
  • scx_lavd: revise FlatTopology prettier by @multics69 in #507
  • scx_lavd: fix a potential watchdog timeout error at multi-NUMA/CCX platforms by @multics69 in #508
  • scx_lavd: add power profile options: --performance, --balanced, --powersave by @multics69 in #511
  • ci: fix veristat for PRs by @hodgesds in #515
  • ci: fix merge veristat cache generation by @hodgesds in #519
  • ci: Fix cache directory by @hodgesds in #520
  • scx_bpfland: topology awareness by @arighi in #509
  • scx_bpfland: use scx_utils::Cpumask by @arighi in #522
  • openrc: Add logrotate support for openrc systems by @Kawanaao in #523
  • scx_layered: Add --run-example and enable CI testing by @htejun in #518
  • scx_bpfland: allow to completely disable interactive classification by @arighi in #525
  • scx_utils::cpumask,topology: Misc updates by @htejun in #527
  • scx_rusty: Misc updates by @htejun in #526
  • scx_layered: Fix core selection by @hodgesds in #524
  • scx_bpfland: properly classify Intel Turbo Boost CPUs by @arighi in #528
  • scx_utils::topology: Use lazy_static instead of LazyLock by @htejun in #530
  • scx_bpfland: drop unused variable by @arighi in #531
  • Version: v1.0.3 by @htejun in #532
  • Version: Cargo.lock by @htejun in #533

New Contributors

Full Changelog: v1.0.2...v1.0.3

v1.0.2

09 Aug 00:13
fd6aa89
Compare
Choose a tag to compare

What's Changed

  • scx_rusty: Pre-check task domain mask with pull domain mask by @vax-r in #425
  • scx_utils: Add LLC id to CPU by @hodgesds in #434
  • scx_rusty: Add mempolicy checks to rusty by @hodgesds in #364
  • scx_bpfland: introduce dynamic nvcsw threshold by @arighi in #439
  • scx_rusty: Remove skip_while in find_first_candidate by @vax-r in #435
  • scx_layered: Add separate module for metrics by @hodgesds in #441
  • layered: Don't dispatch to LO_FALLBACK_DSQ by @Byte-Lab in #442
  • scx_lavd: overhaul the virtual deadline algorithm by @multics69 in #443
  • scx_bpfland: adjust task time slice as a function of waiting tasks by @arighi in #444
  • scx_rusty: Simplify LoadBalancer::populate_tasks_by_load() by @danielocfb in #445
  • scx_layered: Add topology awareness for NUMA nodes and LLCs by @hodgesds in #446
  • scx_layered: Add user and group layers by @hodgesds in #447
  • rusty: Rework deadline as a signed sum by @Byte-Lab in #309
  • Revert "rusty: Rework deadline as a signed sum" by @Byte-Lab in #450
  • scx_bpfland: allow to specify negative values with --slice-us-lag by @arighi in #451
  • lavd_lavd: initial support for AMP (asynmmetric multi-processor) architecture by @multics69 in #452
  • scx_lavd: fix div by zero error in some installations by @multics69 in #456
  • scx_lavd: support two-level scheduling for heavy-loaded cases (like bpfland) by @multics69 in #457
  • scx_lavd: set correct size for cpu_ctx_stor by @arighi in #458
  • scx_layered: Add per cpu layer iterator offset by @hodgesds in #459
  • scx_lavd: misc updates by @multics69 in #460
  • scx_layered: Fix enqueue fallback CPU selection by @hodgesds in #461
  • scx_layered: Add support for disabling topology awareness by @hodgesds in #465
  • scx_bpfland: always re-align task's vruntime to the global vruntime by @arighi in #463
  • scripts: Add dsq latency script by @hodgesds in #466
  • scx_lavd: improve the calculation of ineligibility duration by @multics69 in #464
  • scx_lavd: Make FlatTopology::new() a bit prettier by @htejun in #467
  • scx_rustland_core: fix missing import (timespec) by @arighi in #470
  • scx_rustland_core alloc: Replaced RefCell with Mutex by @Kawanaao in #473
  • scx_rustland_core: add support for musl by @arighi in #471
  • scx_layered: Fix cred declaration by @hodgesds in #472
  • scx_utils: Fix build args by @hodgesds in #474
  • scx_rustland refactoring by @arighi in #468
  • Add a tool to manage versions and synchronize crate dependency versions by @htejun in #478
  • version-tool: Suppress spurious dependency version mismatch warning by @htejun in #479
  • Bump versions for 1.0.2 release by @htejun in #480

New Contributors

Full Changelog: v1.0.1...v1.0.2