v1.0.14
What's Changed
- release: scx_userspace_arena should be published before schedulers by @htejun in #2157
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2159
- scx_mitosis: log global + per-cell queue counts. by @tommy-u in #2093
- scx_utils: Use .then_some() to simplify exit_code() by @EricccTaiwan in #2161
- scx_layered: Synchronize among competing preemptors by @htejun in #2165
- lib/sdt_task: Align enum field for consistency by @EricccTaiwan in #2163
- scx_p2dq: Add optimization for pick2 by @hodgesds in #2166
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2167
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2168
- scx_flash: Introduce "turbo" mode by @arighi in #2160
- scx_p2dq: Update handling of affinitized kthreads by @hodgesds in #2169
- load_balance: Refactor get_stats by @EricccTaiwan in #2171
- scx_lavd/main: Simplify cpdom_map construction by @EricccTaiwan in #2158
- scx_flash: Introduce --rr-sched by @arighi in #2174
- scx_lavd: Rework CPU preference ordering considering chip binning. by @multics69 in #2175
- layered: add -V/--version option by @JakeHillion in #2178
- lib/cpumask: use cmpxchg in scx_bitmap_vacate_cpu by @etsal in #2140
- ci: include changelog link when updating kernels by @JakeHillion in #2181
- scx_flash: Introduce --cpu-runqueue by @arighi in #2180
- p2dq: only declare each module once by @JakeHillion in #2183
- scx_mitosis: Remove unused field and helper to suppress warnings by @EricccTaiwan in #2162
- scx_p2dq: Update dispatch DSQ selection to use DSQ iterators by @hodgesds in #2182
- lib: add selftests by @etsal in #2186
- scx_lavd: Refactor FlatTopology. by @multics69 in #2176
- scxtop: add generic bpf kprobe handler by @yaakov-stein in #2185
- scx_p2dq: Optimize dispatch by @hodgesds in #2187
- scxtop: fix number overflow errors by @yaakov-stein in #2188
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2191
- scx_p2dq: Use SCX_DSQ_LOCAL for select_cpu by @hodgesds in #2190
- scx_p2dq: Add deadline scheduling by @hodgesds in #2193
- scx_p2dq: Optimize dispatch_cpu by @hodgesds in #2194
- scx_p2dq: Cleanup consume_llc_compat by @hodgesds in #2195
- scxtop: adding sched_migrate_task tracepoint. by @devnexen in #2196
- scx_utils: Add an environment variable, SCX_SYSFS_PREFIX, for ease of debugging. by @multics69 in #2192
- scxtop: fix dsq0 overflow by @yaakov-stein in #2197
- scx_utils/infeasible: Refactor apply_infeasible_threshold by @EricccTaiwan in #2189
- docs: Add schbench to developer guide by @EricccTaiwan in #2198
- docs: Add cachyos-benchmarker to developer guide by @EricccTaiwan in #2199
- scxtop: fix tracing race bug by @yaakov-stein in #2200
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2201
- scx_rusty: fix typo by @charliechiou in #2202
- layered/chaos: make --version and startup message uniform by @JakeHillion in #2204
- chaos: fix thread error handling by @JakeHillion in #2205
- scx_flash: Improve task re-enqueue by @arighi in #2206
- scx_p2dq: Bump p2dq version by @hodgesds in #2207
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2210
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2211
- scx_lib_selftests/Cargo: Bump edition to 2021 by @EricccTaiwan in #2212
- scxtop: adding kprobe events to trace by @yaakov-stein in #2208
- scx_rusty: Suppress warning on aarch64 by @EricccTaiwan in #2213
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2217
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2216
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2218
- scx_flash: Handle migration-disabled tasks in direct dispatch by @arighi in #2219
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2222
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2223
- scx_rusty: Update aarch64 compat macro by @EricccTaiwan in #2220
- scxtop: fix event clearing bug by @yaakov-stein in #2221
- scx_p2dq: Add migration DSQs by @hodgesds in #2215
- scx_flash: Enable per-CPU DSQs and per-node DSQs by @arighi in #2224
- Add cpufreq/amd_pstate_prefcore_ranking to topology by @ferrreo in #2227
- scxtop: decouple filtering and rendering event list by @yaakov-stein in #2225
- scx_flash: Remove unnecessary parentheses by @EricccTaiwan in #2228
- scx_p2dq: Refactor DSQs by @hodgesds in #2226
- scxtop: make generic kprobe handler sample by @yaakov-stein in #2230
- scxtop: generalize perf events -> profiling events by @yaakov-stein in #2229
- scx_flash: Introduce tickless mode by @arighi in #2231
- scx_utils, scx_lavd: Introduce EnergyModelOptimizer. by @multics69 in #2232
- scx_p2dq: Refactor dispatch path by @hodgesds in #2233
- scxtop: fix kprobe instuction pointer by @yaakov-stein in #2234
- scxtop: add kprobe events to TUI by @yaakov-stein in #2236
- Add basic unit testing for the BPF portion of scx schedulers by @josefbacik in #2238
- scx_lavd: Suppress warning by @EricccTaiwan in #2235
- meson.build: Force to use gnu11 as C standard. by @multics69 in #2239
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2240
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2241
- meson.build: Suppress warning by @EricccTaiwan in #2243
- lib: add minheap data structure by @etsal in #2179
- scx_chaos: minor typo fix by @yaakov-stein in #2245
- cargo_publish.py: switch from paths to crate names and use publish = β¦ by @JakeHillion in #2244
- scxtop: temporary fix for locale crash by @yaakov-stein in #2248
- scx_p2dq: Add interactive DSQ by @hodgesds in #2237
- scxtop: avoid udnerflow when calculating DSQ vtime delta by @mati865 in #2251
- scx_p2dq: Refactor interactive handling by @hodgesds in #2250
- lib/minheap: error out on invalid capacity sizes by @etsal in #2247
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2254
- lib: Suppress a possibly uninitialized variable warning. by @multics69 in #2255
- ci: run scx_lib_selftests and disable it publishing by @JakeHillion in #2256
- scxtop: bump release to 1.0.15 by @JakeHillion in #2258
- scx_p2dq: Fix interactive load balancing by @hodgesds in #2257
- lib/minheap: Simplify parent index calculation by @EricccTaiwan in #2252
- scx: add more support code for unit tests by @josefbacik in #2260
- scx_mitosis: Small fixups by @dschatzberg in #2261
- scx_flash: Misc improvements by @arighi in #2259
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2265
- docs: Update gentoo instructions by @hodgesds in #2267
- scx_layered: Refactor timer interface by @hodgesds in #2266
- scx_chaos: update runnable logic by @yaakov-stein in #2270
- ci: move chaos to linux-rolling-stable by @JakeHillion in #2271
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2253
- README: add DeepWiki badge by @JakeHillion in #2269
- scxtop: sanitize no break space by @yaakov-stein in #2274
- scx_chaos: add kprobe delays by @yaakov-stein in #2263
- ci: deduplicate kernel specific matrix entries properly by @JakeHillion in #2273
- scx_flash: Remove the tickless timer by @arighi in #2278
- scx_lavd: Use the PCO (Performance vs. CPU Order) table when calculating the number of active CPUs. by @multics69 in #2277
- lib: add initial arena task queue abstraction by @etsal in #2264
- lib: dynamically allocate minheap and add minheap/ATQ fixups by @etsal in #2275
- scx: add more unit testing by @josefbacik in #2281
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2285
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2286
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2276
- scx_lavd: Handling the CPU utilization spikes in autopilot mode. by @multics69 in #2287
- scx_flash: Fix no-SMT sync wakeup logic by @arighi in #2279
- scx_flash: Clarify conditions for reusing prev_cpu on sync wakeup by @arighi in #2288
- scxtop: enable calculating averages by @yaakov-stein in #2282
- scxtop: ensure loud failure by @yaakov-stein in #2283
- scxtop: fix node_sparkline bug by @yaakov-stein in #2284
- scxtop: add cpu stats tracker by @yaakov-stein in #2290
- scx_lavd: Be conservative about migrating to a waker's CPU. by @multics69 in #2289
- scxtop: adding profiling_events folder by @yaakov-stein in #2293
- scx_p2dq: Allow load balancing interactive tasks by default in dispatch by @hodgesds in #2295
- scxtop: switch to use perfetto_protos crate by @yaakov-stein in #2296
- scxtop: clean up Cargo.toml by @yaakov-stein in #2298
- Nvml numa bind by @likewhatevs in #2242
- scx_utils, scx_lavd: Use ftrace for futex tracing whenever possible. by @multics69 in #2300
- lib/minheap.h: Fix macro semicolon by @EricccTaiwan in #2305
- scxtop: add cpu util events by @yaakov-stein in #2306
- scx_flash: CPU stickiness by @arighi in #2303
- scxtop: fix scheduler load crash by @yaakov-stein in #2309
- lib/atq: add peek operation by @etsal in #2302
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2312
- scx_lavd: Misc clean up by @multics69 in #2311
- scx_flash: rework and re-enable nvcsw prioritization by @arighi in #2308
- scx_flash: Tune defaults by @arighi in #2313
- scx_lavd: Reorganize the latency/performance criticality code. by @multics69 in #2314
- lib/minheap: Add scx_minheap_swap_elems helper by @EricccTaiwan in #2301
- scx_p2dq: Add enqueuing stats by @hodgesds in #2315
- scx_flash: Prevent potential stall with --rr-sched by @arighi in #2316
- scx_p2dq: minor select_cpu path cleanup by @yaakov-stein in #2317
- scx_flash: Disable NUMA optimizations on non-NUMA systems by @arighi in #2318
- scxtop: fix dsq_nr_queued tracing by @yaakov-stein in #2319
- scxtop: add dsq_nr_queued to tui by @yaakov-stein in #2321
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2324
- scx_flash: Handle empty NUMA nodes by @arighi in #2325
- scx_p2dq: Fix weight handling by @hodgesds in #2299
- scx_p2dq: remove unused variable by @yaakov-stein in #2327
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2329
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2330
- scx_flash: Clarify help about --sticky-cpu by @arighi in #2331
- scx_p2dq: Refactor migration enqueueing by @hodgesds in #2320
- scx_chaos: cleanup skip_select_cpu check by @yaakov-stein in #2328
- scx_loader: refactor hardcoded scheduler names by @vnepogodin in #2332
- scx_lavd: Correctly measure wake frequency. by @multics69 in #2334
- scx_bpfland: Refactor code to use calloc_cpumask by @palashahuja in #2323
- scx_bpfland: Disable NUMA optimizations on non-NUMA systems by @arighi in #2337
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2339
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2340
- scx_p2dq: Code clean and add __pick_idle_cpu helper by @hodgesds in #2341
- scx_utils/infeasible.rs: Fix failing doctest by adding aggregator init by @EricccTaiwan in #2304
- scx_flash: Improve CPU locality by @arighi in #2338
- scx_p2dq: Refactor can_migrate by @hodgesds in #2342
- scx_chaos: temp fix for random delay stalls by @yaakov-stein in #2343
- chore(deps): nix lock file maintenance by @JakeHillion in #2344
- scx_flash: Refine round-robin mode by @arighi in #2346
- scx_p2dq: Use max slice for idle deadline scheduling by @hodgesds in #2345
- scxtop: remove deprecated fields by @yaakov-stein in #2348
- scxtop: make entering perf events easier by @yaakov-stein in #2349
- scxtop: fix config save by @yaakov-stein in #2347
- scxtop: add config tests by @yaakov-stein in #2350
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2351
- scx_p2dq: Fix load balancing by @hodgesds in #2353
- p2dq: re-enable ci on 6.12 by @JakeHillion in #2355
- scx_utils, scx_lavd: Refine deadline calculation. by @multics69 in #2352
- ci: filter on metal:nixos github runners by @JakeHillion in #2356
New Contributors
- @tommy-u made their first contribution in #2093
- @ferrreo made their first contribution in #2227
- @mati865 made their first contribution in #2251
- @palashahuja made their first contribution in #2323
Full Changelog: v1.0.13...v1.0.14