Releases: sched-ext/scx
Releases · sched-ext/scx
v1.0.17
What's Changed
- scx_utils: Remove unused crate by @EricccTaiwan in #2742
- scx_utils: package a tarball of vmlinux in the source by @JakeHillion in #2743
- versions: bump versions for 1.0.16 release by @JakeHillion in #2741
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2740
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2744
- scx_cosmos: Introduce --avoid-smt by @arighi in #2735
- rust: add generic arena library setup code and consolidate arena library code to subdir by @etsal in #2747
- scx_util, scx_lavd: Add virtual LLC support by @daidavid in #2705
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2748
- scxtop: Add scx_collect_stats helper by @hodgesds in #2749
- scx_layered: userspace logic for memory-bandwidth based layer growth by @etsal in #2726
- scx_central: making data display update interval flexible. by @devnexen in #2751
- docs: Update installation steps for Ubuntu by @arighi in #2756
- rust: arenalib: Set edition to 2021 by @arighi in #2755
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2753
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2754
- arenalib: make imports a bit easier by @daidavid in #2757
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2752
- scx_p2dq: Add overload scheduling by @hodgesds in #2762
- scx_p2dq: Add LLC sharding by @hodgesds in #2733
- scx_p2dq: Unset overloaded when not overloaded by @hodgesds in #2764
- rust: parse PMU raw events by @etsal in #2750
- scxtop: clarify why perf api could not perform when erroring. by @devnexen in #2765
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2766
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2767
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2768
- services: drop basic scx.service by @sirlucjan in #2769
- scx_rustland_core: Re-enqueue tasks in cpu_release by @EricccTaiwan in #2763
- Instructions for building and managing schedulers using cargo by @sirlucjan in #2772
- README.md: update systemd howto by @sirlucjan in #2773
- scx_mitosis: move tick() to timer by @dschatzberg in #2759
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2775
- scx_loader: update README.md about config file by @sirlucjan in #2774
- scx_mitosis: Use SCX_OPS_DEFINE for struct_ops by @EricccTaiwan in #2746
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2781
- scxcash: Add task hint backend by @kkdwivedi in #2782
- scx_rustland_core: Remove redundant 'static lifetime by @EricccTaiwan in #2778
- lib/scx_layered: add raw PMU tracking module and integrate with scx_layered membw tracking by @etsal in #2779
- CARGO_BUILD: extend information about fetch, test and cross compilation by @sirlucjan in #2786
- load_balance: Remove duplicate node count check by @weiso131 in #2770
- scx_rusty: Initialize bpf wrapper var by @frelon in #2784
- scx_rustland_core: Append ops.version suffix by @EricccTaiwan in #2785
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2789
- scx_raw_pmu: Set edition to 2021 by @arighi in #2790
- scx_rustland/rlfifo: Upgrade procfs version by @EricccTaiwan in #2791
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2788
- scx_loader: add migration guide from scx.service to scx_loader.service by @sirlucjan in #2792
- rust/scx_raw_pmu: adjust parsing for Intel PMUs by @etsal in #2787
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2794
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2795
- scx_rustland_core: Log user ringbuf drain return value by @EricccTaiwan in #2796
- scx_raw_pmu: use include_dir to embed json by @JakeHillion in #2780
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2800
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2801
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2802
- scx_rustland_core: Improve readability by @EricccTaiwan in #2803
- docs: Fix broken links by @weiso131 in #2806
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2809
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2810
- README: Add Kernel Recipes talks by @EricccTaiwan in #2807
- scx_rustland_core: Remove unused variable by @EricccTaiwan in #2804
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2814
- README: Reformat and cleanup by @EricccTaiwan in #2817
- scx_p2dq: Fix keep running by @hodgesds in #2820
- scx_lavd: Improve the calculation of performance criticality threshold by @multics69 in #2815
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2813
- cargo: add xtask crate for repo scripts by @JakeHillion in #2816
- scx_rustland: rename min_vruntime to vruntime_now for clarity by @charliechiou in #2822
- test_sched: ignore RETBleed lines by @JakeHillion in #2824
- versions: add starlark output by @JakeHillion in #2823
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2826
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2827
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2821
- scx_bpfland: Print command line options by @sirlucjan in #2829
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2830
- scx_bpfland: Fix CPU utilization for tasks pinned outside primary domain by @arighi in #2828
- scx_flash: Fix CPU utilization for tasks pinned outside primary domain by @arighi in #2831
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2833
- scx_rustland: avoid dispatch when task pool is empty by @charliechiou in #2832
- scx_rustland: align PartialOrd with Ord by @charliechiou in #2835
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2837
- scx_rustland: refine comment to clarify vruntime_now by @charliechiou in #2836
- scx_rustland_core/bpf.rs: align comments with README by @charliechiou in #2838
- percpu: Properly handle missing percpu symbols by @arighi in #2839
- scx_layered: Add MATCH_CGROUP_REGEX support by @htejun in #2841
- scx_layered: Add virtual LLC support by @htejun in #2845
- versions: extract from cargo metadata by @JakeHillion in #2840
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2849
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2848
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2850
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2851
- Revert "scx_rustland_core: Re-enqueue tasks in cpu_release" by @arighi in https://github.com/sched-ex...
v1.0.16
What's Changed
- versions: bump versions for 1.0.15 release by @JakeHillion in #2600
- scx_utils: include sched version in /sys by @JakeHillion in #2599
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2601
- meson: Add -v option back to builds by @hodgesds in #2579
- scxtop: use PT_REGS_IP() macro by @iii-i in #2602
- scx_utils, scx_lavd: Handle an error in set_rlimit_infinity() gracefully. by @multics69 in #2603
- scxtop: Fix total power calculation in TUI by @hodgesds in #2604
- Small Fixes by @rrnewton in #2606
- scheds: fix unused set_rlimit_infinity() result by @iii-i in #2608
- scx_wd40: No-op task_set_preferred_mempolicy_dom_mask() on ARM64 by @EricccTaiwan in #2610
- scx_utils: refactor version appending to make it work on aarch64 by @JakeHillion in #2611
- lib/btree: add remove and merge operations by @etsal in #2605
- scxtop: Cleanup scheduler TUI view by @hodgesds in #2614
- scxtop: Add last waker to thread view by @hodgesds in #2615
- scx_layered: fix race condition on GPU process layer match logic by @xerothermic in #2607
- scx: Mark smp_mb variable as volatile by @kkdwivedi in #2617
- INSTALL.md: Update ubuntu instructions. by @multics69 in #2618
- scx_lavd: Increase the maximum number of domains to 24. by @multics69 in #2619
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2622
- services: show options instead of setting any by @vnepogodin in #2624
- scxtop: Add colors to charts by @hodgesds in #2616
- scxtop: Fix clippy warnings by @hodgesds in #2626
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2620
- scx_wd40: Fix warning on ARM64 by @EricccTaiwan in #2623
- ci: add basic build check for aarch64 by @JakeHillion in #2612
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2621
- p2dq: Refactor llc_runs handling by @hodgesds in #2627
- scx_mitosis: Retire homegrown RCU implementation by @kkdwivedi in #2613
- scx_lavd: initial refactoring for separate unit compilation by @etsal in #2521
- scx_utils: Add lifetime to cpumask iterator by @hodgesds in #2629
- scx_lavd: continue separate unit compilation refactoring by @etsal in #2630
- scheds: unify a bit more the rust schedulers at exit time. by @devnexen in #2389
- layered: bump version to 1.0.17 by @JakeHillion in #2632
- sync-to-kernel: Skip include/lib and revert missing-file handling by @EricccTaiwan in #2625
- Revert "ci: add basic build check for aarch64" by @JakeHillion in #2633
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2638
- scx_lavd: Fix a verification error on ARM. by @multics69 in #2636
- scx_lavd: Remove unused function by @EricccTaiwan in #2631
- scx_mitosis: Few more clean ups by @kkdwivedi in #2628
- Fix s390 support by @iii-i in #2586
- scx_p2dq: Refactor saturation handling by @hodgesds in #2637
- rust/scx_lib_selftest: add BPF Streams support by @etsal in #2634
- scx_p2dq: Add task slice tracking by @hodgesds in #2641
- scx_p2dq: Add clippy by @hodgesds in #2642
- High frequency dynamic layer switching using hints by @kkdwivedi in #2643
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2645
- scx_lavd: Add LLC id (llc_id) to cpu_ctx and cpdom_ctx. by @multics69 in #2646
- ci: drop arighi-6.12 and apply patch to stable-6.12 by @JakeHillion in #2640
- include/lib: port page fragment allocator from the kernel by @etsal in #2635
- scx_p2dq: Remove unused parameter by @EricccTaiwan in #2649
- p2dq/chaos: remove sources from p2dq lib and symlink into chaos by @JakeHillion in #2651
- scx_lavd: Check Per-CPU dsq on select cpu path by @daidavid in #2653
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2656
- build: switch c scheds to make by @JakeHillion in #2647
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2655
- lib/sdt_alloc: Fix wrong return value by @EricccTaiwan in #2657
- scripts: Update vmlinux to include more configs by @hodgesds in #2658
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2661
- scx_lavd: --per-cpu-dsq shares DSQ between SMT siblings by @daidavid in #2659
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2660
- scxtop: Refactor on_tick method by @hodgesds in #2663
- rust/scx_lib_selftests: explain BPF streams-related error messages by @etsal in #2665
- scx_lavd: Fix return type for cpu_to_dsq by @daidavid in #2666
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2671
- lib: introduce red-black tree by @etsal in #2662
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2667
- scx_utils: few helpers simplifications. by @devnexen in #2670
- scx_p2dq: Add scheduler mode configuration by @hodgesds in #2673
- lib/btree: fix btnode cached allocation/frees by @etsal in #2664
- scx_p2dq: Update saturate CPU selection by @hodgesds in #2676
- Cache Usage Analyzer by @kkdwivedi in #2678
- scx_rustland_core: Use RingBuffer:consume_raw_n() by @arighi in #2681
- scx_p2dq: Update docs by @hodgesds in #2683
- scxcash: Add perf sampling backend by @kkdwivedi in #2679
- scxtop: Add LineGauge support by @hodgesds in #2682
- scx_layered: Added --hi-fb-thread-name to give more CPU time for affinitized task by @xerothermic in #2680
- mitosis: replace layered with mitosis by @sirlucjan in #2688
- scx_mitosis: Add "Unregister" log message by @EricccTaiwan in #2687
- lib/rbtree: add rb_least() and rb_pop() API methods by @etsal in #2691
- mitosis: add version info by @likewhatevs in #2685
- scx_cosmos: Correct comment typo by @EPOCHvoyager in #2692
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2686
- scx_chaos: Log unregister on drop by @EricccTaiwan in #2690
- lib/selftest: add C based runner by @etsal in #2677
- scxtop: Bind both 'q' and 'Q' to Quit action by @EricccTaiwan in #2697
- Bump slab to 0.4.11 by @shunghsiyu in #2689
- lib/atq: Back with rbtrees by @etsal in #2693
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2701
- scx_cosmos: Consider wakeup frequency when determining task deadlines by @arighi in #2696
- Update INSTALL.md by @Sisyphus1813 in #2699
- chore(deps): update stable/6_12 kernel by @JakeHillion in #2702
- scx_mitosis: dynamic cell creation/destruction by @dschatzberg in #2694
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2706
- scxtop: Reduce redundant if-else by @EricccTaiwan in #2707
- scx_utils: Add option for libbpf opts for scx_ops_open by @hodgesds in ...
v1.0.15
What's Changed
- versions: Bump versions for v1.0.14 release by @JakeHillion in #2357
- cargo-publish: add a topological sort by @JakeHillion in #2358
- p2dq/chaos: switch more enqueue cases to be async by @JakeHillion in #2354
- /etc/default/scx: set scx_flash as default scheduler by @sirlucjan in #2360
- scx_p2dq: Set CPU on promise during enqueue by @hodgesds in #2361
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2363
- vmlinuyx_docify: address clippy warnings by @devnexen in #2362
- scxtop: switch cpu_stat_tracker to procfs by @yaakov-stein in #2364
- chaos: re-enable on sched_ext/for-next kernel by @JakeHillion in #2366
- scx_bpf_unittests: add crate to drive BPF unittests by @JakeHillion in #2365
- scxtop: add cpu_frequency tracking by @yaakov-stein in #2367
- scx_lavd: Collect more information for '--monitor-sched-samples' by @multics69 in #2368
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2370
- scxtop: fix trace by @yaakov-stein in #2375
- scx_p2dq: Refactor configuration by @hodgesds in #2376
- scx_p2dq: Fix initialization by @hodgesds in #2377
- scx_lavd: Add 'rerunnable_interval' for '--monitor-sched-samples' by @multics69 in #2372
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2371
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2380
- scx_flash: Scale by task weight when native_priority is set by @marioroy in #2373
- scxtop: add cpu stats to trace by @yaakov-stein in #2378
- scxtop: update default event by @yaakov-stein in #2383
- scx_loader: cleaning and adjusting settings by @sirlucjan in #2374
- scx_lavd: Limit the impact of latency criticality inheritance. by @multics69 in #2384
- scx_p2dq: Add stats for per CPU enqueues by @hodgesds in #2385
- scx_p2dq: Add load balance mode by @hodgesds in #2382
- scxtop: add system stats trace arg by @yaakov-stein in #2386
- nix: fix veristat build by @JakeHillion in #2388
- scxtop: remove unnecesary struct variables by @yaakov-stein in #2391
- scx_lavd: Refactoring struct task_ctx. by @multics69 in #2392
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2393
- scx_bpf_unittests: Filter invalid symbol names in test codegen by @EricccTaiwan in #2387
- cargo: Update build profiles by @hodgesds in #2394
- scxtop: add mem stats by @yaakov-stein in #2390
- ci: reduce number of runs by @JakeHillion in #2396
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2399
- Introduce scx_cosmos by @arighi in #2401
- scx_flash: add to integration-tests by @sirlucjan in #2402
- deps: update libbpf-rs/libbpf-cargo to 0.25.0 by @JakeHillion in #2397
- scxtop: add process cmdline by @yaakov-stein in #2395
- scxtop: adding sched_process_wait trace point. by @devnexen in #2398
- scx_wd40: fix build and build in CI by @JakeHillion in #2404
- scx_loader: add config search path for distributions by @vnepogodin in #2405
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2409
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2408
- scx_loader: add bundled configuration like for scx.service by @vnepogodin in #2406
- scx_loader: Support build-time configuration of vendordir by @ReillyBrogan in #2407
- rust utils: addressing clippy warnings by @devnexen in #2410
- scx_cosmos: Introduce flat idle CPU scan by @arighi in #2411
- atq: Add sized ATQ helper by @hodgesds in #2403
- ci: add required-checks job by @JakeHillion in #2413
- nix: switch to fenix to better pin rust dependencies by @JakeHillion in #2412
- scx_p2dq: Add ATQ for migrations by @hodgesds in #2414
- scxtop: fix trace by @yaakov-stein in #2416
- scx_p2dq: Allow configuring queued wakeup by @hodgesds in #1939
- scxtop: switch from fb_procfs to procfs by @yaakov-stein in #2417
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2419
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2421
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2420
- scx_lavd: Mostly refactoring and clean up, and one preemption optimization. by @multics69 in #2418
- scx_loader: fix typos and and unification of descriptions by @sirlucjan in #2423
- scx_p2dq: Add ATQ for interactive tasks by @hodgesds in #2425
- scx_cosmos: Use flat idle scan only when the system is sufficiently idle by @arighi in #2424
- scx_lavd: Sample dsq_consume latencies by @daidavid in #2428
- scx_p2dq: Update docs by @hodgesds in #2429
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2430
- selftests: Add topology selftest by @hodgesds in #2427
- scxtop: Add "missing scheduler" message by @EricccTaiwan in #2336
- scx_tickless: Add support for preferred cores by @arighi in #2431
- scx_flash: Re-introduce tickless timer by @arighi in #2437
- scx_wd40: Fix indent by @EricccTaiwan in #2433
- scxtop: prevent cargo fmt from editing license by @yaakov-stein in #2436
- scx_mitosis: Add StatsServer by @dforsyth in #2426
- scx_chaos: separate kprobe delays by @yaakov-stein in #2435
- scxtop: add v0 process view by @yaakov-stein in #2434
- scxtop: add cpu system-wide stats by @yaakov-stein in #2439
- scxtop: intercept sched_process_hang trace event. by @devnexen in #2432
- scxtop: fix sched hang prog attach by @yaakov-stein in #2442
- scxtop: update process tables styles by @yaakov-stein in #2444
- scx_lavd: addressing clippy warnings by @devnexen in #2443
- scx_lavd: Boost the time slice of long-running tasks. by @multics69 in #2440
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2446
- scxtop: add cpu util to process by @yaakov-stein in #2445
- scx_utils/topo: Remove unused import by @EricccTaiwan in #2447
- scx_bpf_compat: add crate to detect difficult kernel features and use in layered by @JakeHillion in #2415
- scxtop: add fields to process view by @yaakov-stein in #2450
- ci: use fast-apt-mirror action by @JakeHillion in #2451
- ci: add missing checkout steps by @JakeHillion in #2452
- rust-toolchains: Add rustfmt and clippy components by @EricccTaiwan in #2448
- ci: split rust-tests into lint and build-and-test by @JakeHillion in #2449
- scxtop: add pause capability by @yaakov-stein in #2454
- scxtop: temporary fix for dsq vtime stat by @yaakov-stein in #2455
- scxtop: add pause to help by @yaakov-stein in #2456
- meson: drop libalpm support by @sirlucjan in #2458
- scxtop: clean Cargo.toml by @yaakov-stein in #2459
- scxtop: remove pstate by ...
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 k...
v1.0.13
What's Changed
- scx_rustland: Simplify TaskTree push logic by @EricccTaiwan in #1841
- scx_rustland: Refactor TaskTree pop to remove redundant else by @EricccTaiwan in #1852
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1853
- scx_p2dq: Cache node CPU masks on llc_ctx by @hodgesds in #1856
- scx_layered: fix verification failure on Clang 20 by @etsal in #1858
- scx_tickless: Misc improvements by @arighi in #1854
- scx_rustland: Refactor dispatch_tasks to simplify control flow by @EricccTaiwan in #1857
- scx_rustland: simplify monitor request handling in run() by @EricccTaiwan in #1862
- scx_rustland_core: Improve sync wakeups by @arighi in #1855
- scx_rustland_core: Fix CPU wakeup with RL_CPU_ANY by @arighi in #1863
- scxctl: list command panic on failure fix. by @devnexen in #1850
- scx_p2dq: Remove unneeded variable by @hodgesds in #1865
- scx_tickless: Fix build warning by @arighi in #1864
- vmlinux.h: Refresh vmlinux.h from sched_ext/for-6.16 (9b30400ff652) by @htejun in #1869
- scx_layered: prevent offset calculation during prefix matching from being optimized out by @etsal in #1868
- scx_layered: propagate task placement hints to BPF by @etsal in #1859
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1870
- scx_qmap: Sync with the kernel changes to fix a build break. by @multics69 in #1872
- scx_stats: simplify channel send error handling with is_err() by @EricccTaiwan in #1867
- scx_lavd: Make the load balancing core compaction- and capacity-aware. by @multics69 in #1871
- scx_utils: cast ioctl opcodes to libc::Ioctl by @vimproved in #1860
- scx_p2dq: Optimize enqueue path lookups by @hodgesds in #1873
- scx_p2dq: Add --select-idle-in-enqueue flag by @hodgesds in #1875
- chaos: remove limit on delayed enqueue loop by @JakeHillion in #1874
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1878
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1877
- scx_bpfland: simplify error handling for sibling CPU setup by @EricccTaiwan in #1866
- scx_lavd: Donate tasks at ops.select_cpu() and ops.enqueue(). by @multics69 in #1879
- scx_lavd: Don't print unnecessary CPU preference orders. by @multics69 in #1880
- scx_stats: Cleanup imports by @hodgesds in #1882
- scx_rustland_core: propagate errors from enable_sibling_cpu_fn by @EricccTaiwan in #1883
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1887
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1888
- scx_rustland, scx_rlfifo: remove unused imports by @EricccTaiwan in #1890
- scx_lavd: make rustfmt happy by @EricccTaiwan in #1889
- chaos/p2dq: symlink lib to fix publishing by @JakeHillion in #1886
- scx_lavd: Find an alternative domain beyond the current node/LLC. by @multics69 in #1892
- scx_rustland_core: drop unused variable by @EricccTaiwan in #1891
- scx_rustland_core: skip L2/L3 search when domain is empty by @charliechiou in #1876
- scx_loader: Add rustland scheduler by @sirlucjan in #1896
- scx_rlfifo: Make the scheduler more viable by @arighi in #1895
- scx_rustland: Introduce a congestion threshold by @arighi in #1894
- meson: add llvm-strip as requirement. by @devnexen in #1884
- scx_chaos: Refactor thread join error handling by @EricccTaiwan in #1899
- ci: switch to nix built kernel by @JakeHillion in #1900
- scx_chaos: Add CPU frequency chaos by @hodgesds in #1901
- scx_lavd: Change the min slice to 500us. by @multics69 in #1902
- scx_utils: Choose a CPU capacity source more judiciously. by @multics69 in #1903
- scx_rustland_core: Refactor memory lock/unlock error handling by @EricccTaiwan in #1898
- scx_rustland_core: Ensure migration-disabled tasks are always enqueued by @arighi in #1897
- scx_utils: Remove unused assignment warning by @EricccTaiwan in #1905
- scx_utils: gpu topologyu add GPU's VRAM (max) clock frequency data. by @devnexen in #1908
- doc: Fix README title and link formatting by @EricccTaiwan in #1910
- docs: Add systing to developer guide by @hodgesds in #1909
- docs: clarify QueuedTask time field comments by @charliechiou in #1906
- scx_rustland_core: Get rid of the custom ops.update_idle() by @arighi in #1904
- scx_lavd: Simplify CPU preference order setup by @EricccTaiwan in #1913
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #1914
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #1915
- scx_rustland_core / scx_rustland: Multiple improvements by @arighi in #1912
- scx_p2dq: Add fifo scheduling for interactive tasks by @hodgesds in #1916
- load_balance: Refactor
find_first_candidate
by @EricccTaiwan in #1911 - scx_layered: Make exclusive work better by @htejun in #1918
- scx_p2dq: Optimize default hot paths by @hodgesds in #1919
- arenas: update aarch64 compat ifdef by @likewhatevs in #1920
- scx_lavd: Improving the performance stability and preemption. by @multics69 in #1922
- rust: Handle return value from
Option::take
by @EricccTaiwan in #1923 - chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1921
- scx_p2dq: Optimize the keep running path by @hodgesds in #1925
- scx_layered: Remove loop workaround in pick_idle_cpu_from() by @htejun in #1930
- scx_mitosis: Strip down for static cpu pinning by @dschatzberg in #1932
- chaos: return prev_cpu instaed of -EINVAL in select_cpu by @JakeHillion in #1929
- ci: re-enable rustland on stable kernels by @JakeHillion in #1924
- chaos: refactor trait selection by @JakeHillion in #1931
- nix: build veristat from source by @JakeHillion in #1934
- lib,scx_p2dq: introduce arena topology by @etsal in #1885
- layered: improve compat of excl fixes on older kernels by @likewhatevs in #1933
- scx_lavd: Add --preempt-shift option. by @multics69 in #1928
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1940
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1941
- scx_rustland: Show version info by @arighi in #1942
- scx_p2dq: Call print_topology after attaching scheduler by @EricccTaiwan in #1936
- scx_p2dq: Optimize affinitized selection by @hodgesds in #1946
- scxtop: Update TUI defaults to slice-consumed by @yaakov-stein in #1945
- ci: fix CACHIX_AUTH_TOKEN access in integration-tests by @JakeHillion in #1943
- nix: add bpf-clang derivation by @JakeHillion in #1947
- scx_rustland_core: Minor optimizations by @arighi in #1944
- scx_layered: Flip the return polarity of sib_keep_idle() by @htejun in #1948
- scx_p2dq: Refactor vtime handling of migrating tasks by @hodgesds in #1833
- scx_layered: Fix race condition between picking an idle CPU and the CPU going idle by @htejun in https://github.com/sched-ext/sc...
v1.0.12
What's Changed
- scxctl: Add version to scx_loader dependency by @htejun in #1617
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1618
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1619
- common: include file and line number in scx_bpf_error by @JakeHillion in #1613
- scx_p2dq: Deprecate greedy idle selection by @hodgesds in #1621
- scxtop: scx_utils: Correctly handle signed values in CPU topology files by @metin-arm in #1587
- chaos: guarantee dispatch of tasks on quiet cpus by @JakeHillion in #1622
- chaos: store p2dq vtime and restore it before enqueue by @JakeHillion in #1625
- Cpumask code fixups by @etsal in #1592
- scx_lavd: Fix a verifier error on ARM64. by @multics69 in #1623
- scx_utils: Add EnergyModel (energy_model.rs). by @multics69 in #1624
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1627
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1628
- scx_chaos: fix missing kernel symbols on older kernels. by @devnexen in #1615
- scx_utils, scx_lavd: Add a new option, "--cpu-pref-order". by @multics69 in #1629
- scx_utils: fix too_many_arguments warning on create_insert_cpu(). by @devnexen in #1630
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1632
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1633
- scx_lavd: Prioritize recently woken-up tasks. by @multics69 in #1631
- scx_p2dq: Adjust max vtime calculation by @hodgesds in #1634
- scx_lavd: Simplify CPU frequency scaling. by @multics69 in #1635
- scxtop: Conditionally attach progs by @hodgesds in #1638
- scx_flash: Always bounce tasks to ops.enqueue() by @arighi in #1637
- scx_lavd: Further prioritize kworkers and a few more. by @multics69 in #1639
- scx_p2dq: Refactor load balancing by @hodgesds in #1642
- scx_p2dq: Update kthread selection on task context by @hodgesds in #1643
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1644
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #1645
- scx_lavd: Do not proactively reserve overflow CPUs, and more. by @multics69 in #1646
- scxtop: attach sched_waking porgram by @tyroguru in #1647
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1648
- include/scx: Bump _Q_MAX_CPUs for arena spinlocks by @etsal in #1649
- scx_utils: retain all BPF output files for multiple compilation units by @etsal in #1650
- lib/sdt_alloc: remove sdt_* prefix from most of the allocator by @etsal in #1651
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1654
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1655
- scx_bpfland: Rework preemption behavior by @arighi in #1652
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #1660
- scx_utils: Correctly test is_migration_disabled(). by @multics69 in #1658
- scx_lavd: Do not extend the overflow set for migration-disabled tasks. by @multics69 in #1659
- scx_bpfland: Normalize task weight by @arighi in #1662
- add tool to document vmlinux.h files by @likewhatevs in #1661
- wd40: fixups for getting single unit compilation working by @etsal in #1663
- scx_layered: gate nvidia_poll kprobe behind flag by @likewhatevs in #1664
- scx_layered: change default gpu kprobe level to prior behavior by @likewhatevs in #1665
- scx_lavd: Change type in clamp_time_slice_ns(). by @multics69 in #1666
- scx_bpfland: Skip migration attempts for migration-disabled tasks by @arighi in #1668
- scx_bpfland: Avoid unnecessary cpumask updates by @arighi in #1667
- chaos: add --ppid-required flag by @JakeHillion in #1656
- scxtop: clean up unused imports by @JakeHillion in #1670
- scx_p2dq: Add CLI args for tuning load balancing by @hodgesds in #1671
- scx_utils: use tempdir in test_bpf_builder_new by @JakeHillion in #1673
- scx_p2dq: Refactor dispatch load balancing by @hodgesds in #1672
- scx_p2dq: Bump version by @hodgesds in #1676
- scx_p2dq: Optimize paths on pick_idle_cpu by @hodgesds in #1677
- scx_p2dq: Fix handling of affinitized tasks by @hodgesds in #1678
- scx_lavd: Use 1024 instead 1000 for fixed point arithmetic. by @multics69 in #1680
- ci: Add affinity stress tests for CI jobs by @hodgesds in #1679
- scxtop: add process and thread descriptors by @tyroguru in #1674
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #1682
- fix(#1462): switch scxtop from protobuf to prost by @jalil-salame in #1669
- ci: add nixed script to cover rust part of ci by @JakeHillion in #1681
- scx_p2dq: Fix affinitized task handling by @hodgesds in #1684
- stress_tests: increase timeout_sec to 45s by @JakeHillion in #1685
- scxtop: better naming for kernel workqueue threads by @tyroguru in #1686
- scx_lavd: Calculate scaled and invariant CPU utilization. by @multics69 in #1683
- scx_layered: Debug dump improvements by @htejun in #1688
- scx_p2dq: Add configuration for dispatch load balancing by @hodgesds in #1692
- scx_p2dq: Refactor wakeup logic by @hodgesds in #1691
- scxtop: fixing missing process names by @tyroguru in #1694
- scxtop: trace (part of) pstate_sample by @devnexen in #1636
- scx_p2dq: Allow interactive task load balancing by @hodgesds in #1696
- meson: making protoc dependency more upfront before setting the project. by @devnexen in #1697
- scx_layered: Implement layer option skip_remote_node by @htejun in #1698
- scx_bpfland: improve wakeups by @arighi in #1693
- rustscheds: add common SCX_TIMEOUT_MS env var to set stall watchdog limit by @JakeHillion in #1695
- README: update list of build dependencies for Ubuntu by @arighi in #1700
- scx_lavd: Use scaled CPU utilization for calculating # of active CPUs. by @multics69 in #1699
- scx_lavd: Improve preemption at ops.tick() and ops.qneueue(). by @multics69 in #1703
- scx_lavd: Skip load balancing when there is only one compute domain. by @multics69 in #1704
- scx_bpfland: Introduce --no-wake-sync by @arighi in #1701
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #1705
- scx_utils: using more modern rust idiomatics. by @devnexen in #1706
- scx_p2dq: Refactor big/little scheduling by @hodgesds in #1702
- scx_bpfland: Fix inverted logic for --no-wake-sync by @arighi in #1711
- scx_flash: Avoid direct local dispatch of per-CPU tasks on SCX_ENQ_REENQ by @arighi in #1710
- scx_bpfland: Restore slice_lag tunable by @arighi in #1709
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #1714
- scx_utils: Add mangolog module by @hodgesds in #1708
- scx_utils, scx_lavd: Use per-CPU cache size for CPU preference order. by @multics69 in #1715
- cho...
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