What's Changed
- versions: bump versions for 1.0.17 release by @JakeHillion in #2866
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2869
- rustland-core: improve formatting by @sirlucjan in #2867
- README: Add Kernel Recipes 2025 by @EricccTaiwan in #2871
- scx_layered: remove task_layer_id by @etsal in #2872
- scx_util: Fix up --virt-llc args by @daidavid in #2873
- ci: clang-format scx_chaos by @JakeHillion in #2868
- scx_rustland_core: Fix clippy warnings by @EricccTaiwan in #2874
- rustland-core: fix formatting by @sirlucjan in #2877
- scx_bpfland: Rework idle selection and scheduling policy by @arighi in #2876
- chaos: reimplement better random support by @JakeHillion in #2878
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2881
- scx_rustland_core: Rely on built-in idle CPU selection policy by @arighi in #2875
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2882
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2884
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2885
- scx_bpfland: Disable sticky tasks by default by @arighi in #2887
- scx_loader: update bpfland server mode by @sirlucjan in #2888
- scx_mitosis: enable clang-format in the CI by @JakeHillion in #2892
- Dynamically gate layer admission for HintEquals by @kkdwvd in #2891
- meson: bump version to 1.0.17 by @sirlucjan in #2893
- scx_layered: add memory bandwidth-based layer sizing by @etsal in #2880
- scx_layered: fix warning by @sirlucjan in #2895
- scx_rustland_core/scx_rustland: Rework and improvements by @arighi in #2890
- scx_rustland: fix formatting by @sirlucjan in #2897
- scx_wd40: update error message if a cpu has no topology set. by @devnexen in #2883
- scx_rustland_core: Allow to define a default time slice by @arighi in #2898
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2900
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2899
- nix: support aarch64-linux in flake by @JakeHillion in #2902
- scx_lavd: Fix array index mismatch in test_cpu_stickable() by @bboymimi in #2886
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2901
- scx_mitosis: Add debug event recording by @dschatzberg in #2905
- scxtop: Fix panic in BPF event conversion by @hodgesds in #2907
- cargo: Fix target-cpu option by @hodgesds in #2913
- utils: Update cargo dependencies by @hodgesds in #2906
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2917
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2920
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2921
- scx_rustland_core: Avoid unnecessary CPU wakeups by @arighi in #2918
- scx_mitosis: Bump max cells by @dschatzberg in #2924
- scx_rustland_core: Consider user-space scheduler's CPU as idle by @arighi in #2922
- mitosis: bugfixes by @likewhatevs in #2904
- update fmt githook template by @likewhatevs in #2908
- scx_rustland: small latency-oriented improvements by @arighi in #2925
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2926
- ci: update description when modifying an update-kernels pr by @JakeHillion in #2928
- scx_lavd: Fix lost cpu assignment when reusing prev_cpu by @weiso131 in #2916
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2889
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2931
- scx_rustland_core: Remove unused prev_cpu parameter by @charliechiou in #2927
- nix: build scx_chaos with nix by @JakeHillion in #2932
- meson: deprecate harder by @JakeHillion in #2933
- scx_mitosis: Make timer_cb more robust by @dschatzberg in #2929
- scx_mitosis: Fix enqueue vtime stale read by @dschatzberg in #2935
- scx_lavd: Add configurable migration threshold with avg utilization by @daidavid in #2912
- scx_lavd: Add --pinned-slice-us option for improved pinned task respo⦠by @daidavid in #2930
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2936
- Lavd release 10 23 by @daidavid in #2937
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2941
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2940
- scx_bpfland: Add --preferred-idle-scan option to prioritize faster CPUs by @arighi in #2939
- scx_bpfland: Introduce per-CPU DSQs by @arighi in #2943
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2946
- scx_bpfland: Prevent starvation and improve performance consistency by @arighi in #2948
- scxtop: Add BPF program profiling with perf sampling and source line β¦ by @hodgesds in #2945
- scx_bpfland: Drop ops.cpu_release() by @arighi in #2949
- scx_utils, scx_lavd: Harden the futex tracing. by @multics69 in #2950
- scx_mitosis: Increase debug events buffer size by @dschatzberg in #2954
- scxtop: Fix P99 Runtime chart width in BPF detailed view by @hodgesds in #2955
- scx_bpfland: Don't attempt migrations for sticky tasks by @arighi in #2953
- scx_p2dq: Fix BPF loading failure when sched_core_priority unavailable by @hodgesds in #2957
- scxtop: Use __COMPAT_scx_bpf_events for older kernel support by @hodgesds in #2956
- lib/arena: Fix incorrect cpumask calculation at topo_init(). by @multics69 in #2951
- scx_lavd: Don't use Per-CPU DSQ for pinned tasks by @daidavid in #2964
- scx_lavd: Fix a BPF verifier error (E2BIG) at do_core_compaction(). by @multics69 in #2965
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2967
- scx_lavd: Fix the required tracer name for futex tracing. by @multics69 in #2966
- scxtop: Add Model Context Protocol (MCP) server by @hodgesds in #2963
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2973
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2974
- scx_bpfland: Scale vruntime credit based on queue depth by @arighi in #2968
- docs: update Ubuntu install steps after 25.10 release by @ksacilotto in #2972
- scx_mitosis: Workaround exiting tasks in dead cgs by @dschatzberg in #2971
- Update kernel.config with LAVD specific info by @AdelKS in #2969
- scx_p2dq: Add optimizations for Neoverse-V2 CPUs by @hodgesds in #2975
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #2980
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2981
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2982
- scx_loader/scxctl: remove from repository by @JakeHillion in #2977
- scxtop: Refactor process/thread rendering into separate module (Phase 1) by @hodgesds in #2959
- scx_bpfland: Classify sticky tasks based on their average runtime by @arighi in #2984
- scxtop: Refactor memory rendering into separate module (Phase 2) by @hodgesds in #2960
- selftests: Add arena bpf timer selftest by @hodgesds in #2985
- scx_arena: Fix arena topo initialization on CXL machines by @hodgesds in #2988
- scx_mitosis: Fix tasks getting vtime too far ahead by @tommy-u in #2978
- scx_bpfland: Rethink per-CPU tasks prioritization by @arighi in #2987
- scxtop: Refactor network rendering into separate module (Phase 3) by @hodgesds in #2961
- scxtop: Refactor scheduler rendering into separate module (Phase 4) by @hodgesds in #2962
- scx_bpfland: Dynamic time slice by @arighi in #2989
- scx: Introduce scx_bpf_dsq_peek() by @arighi in #2990
- scxtop: Refactor BPF program rendering into separate module (Phase 5) by @hodgesds in #2976
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2979
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #2993
- scx_p2dq: Use peek api for dispatch by @hodgesds in #2992
- scx_lavd: Reduce the BPF program size. by @multics69 in #2994
- scheds: Introduce scx_beerland π» by @arighi in #2991
- chore(deps): update stable/6_12 kernel by @scx-ci-bot in #2995
- chore(deps): update stable/linux-rolling-stable kernel by @scx-ci-bot in #2996
- scx_beerland: add to integration-tests by @sirlucjan in #2999
- scxtop: Add comprehensive MCP event analyzer infrastructure with auto⦠by @hodgesds in #3000
- scxtop: Add softirq analyzer with selective BPF program attachment by @hodgesds in #3001
- vmlinux: Update to v6.18-rc4 by @etsal in #3002
- scx_arena, scx_wd40: remove Rust 1.91 warnings by @etsal in #3003
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #3004
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #3005
- lib/topology: Add two utility functions: topo_cpu_to_llc_id() and TOPO_NR(type). by @multics69 in #3006
- scxtop: Add comprehensive perfetto trace analysis MCP server by @hodgesds in #3007
- bpf_unittests: Remove p2dq tests by @hodgesds in #3013
- scx_lavd: Reintroduce using Per-Cpu DSQs for pinned tasks by @daidavid in #3014
- scx_mitosis: Fix runnable task stall by @tommy-u in #3015
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #3008
- chore(deps): update sched_ext/for-next kernel by @scx-ci-bot in #3009
- lib/atq: Don't print an error message when -ENOENT at scx_atq_pop(). by @multics69 in #3010
- ci: bump vng memory for cargo-nextest to 16GB by @JakeHillion in #3023
- scx_p2dq: Refactor dispatch to use peek API and handle affinity changes by @hodgesds in #3024
- scx_layered: Fix core allocation for StickyDynamic by @kkdwvd in #3027
- scxtop: Do not use is_multiple_of() to avoid an E0658 error. by @multics69 in #3028
- chore(deps): update bpf/bpf-next kernel by @scx-ci-bot in #3029
- scx_p2dq: Make interactive sticky dispatch to per CPU DSQs by @hodgesds in #3025
New Contributors
Full Changelog: v1.0.17...v1.0.18