Releases: sched-ext/scx
Releases · sched-ext/scx
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
v1.0.4
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
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
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