v1.0.0
Notes
- Rebased on top of korg
sched_ext/for-6.11
branch which is expected to be merged during the upcoming merge window. - cgroup support temporarily dropped.
scx_flatcg
,scx_pair
andscx_mitosis
are disabled for the time being. - DSQ iterator size changed. Schedulers that use DSQ iters built against earlier kernels won't work.
- This is the new compat baseline.
What's Changed
- rusty: Use cpumask kfuncs in cpumask_intersects_domain() by @Byte-Lab in #328
- scx: Unify loading and running boilerplate across rust schedulers by @htejun in #329
- scx_rustland_core: add extra debugging info to dispatch_task() by @arighi in #331
- scx.service: start service after graphical target by @sirlucjan in #332
- scx_rustland: introduce virtual time slice by @arighi in #333
- scx: update /etc/default/scx sample flags by @sirlucjan in #335
- scx_rustland: never use a time slice that exceeds the default value by @arighi in #336
- Bring rust scheduler's compat support to parity with C by @htejun in #337
- scx_lavd: core compaction for low power consumption by @multics69 in #338
- scx_layered: Improve yield, preemption and other behaviors by @htejun in #340
- uei: Pass skel to RESIZE_ARRAY() by @Byte-Lab in #344
- scx_utils: Add CPU freq transition latency by @hodgesds in #343
- scx_rusty: Elimate data races possibility for domain min_vruntime by @vax-r in #341
- scheds: Add scx_mitosis scheduler by @dschatzberg in #339
- mitosis: Fix build by @dschatzberg in #348
- Support LLVM_VERSION_SUFFIX in clang version parsing regex by @vimproved in #350
- scx_lavd: properly calculate task's runtime after suspend/resume by @multics69 in #349
- common: Add css iter forward declares by @dschatzberg in #352
- scheds: Add scx_mitosis scheduler to /etc/default/scx by @sirlucjan in #346
- scx_lavd: improve CPU frequency scaling by @multics69 in #351
- scx_lavd: add the design of core compaction by @multics69 in #355
- scx.service: allow overriding scx variables by @Pprighi in #356
- scx.service: document scx override variables by @Pprighi in #357
- README: Add information about restoring default values by @sirlucjan in #358
- scx_rustland: prevent starvation by @arighi in #345
- scx_rlfifo: improve code usability for experiments by @arighi in #360
- common.bpf.h: Cosmetic changes by @htejun in #359
- scx_rustland_core: fix potential race in dispatch_task() by @arighi in #361
- Strip compat support by @htejun in #363
- scx_utils: Fix typos by @vax-r in #365
- rusty: Clean up some logic in rusty by @Byte-Lab in #347
- rusty: Make dom_xfer_task() a global prog by @Byte-Lab in #366
- scx/compat.bpf.h: Fix __COMPAT_scx_bpf_consume_task() and improve scx_qmap example by @htejun in #367
- scx_rusty: Refactor lookup operation for new_domc in task_set_domain by @vax-r in #362
- scx_lavd: misc performance tuning and code clean up by @multics69 in #368
- scx_lavd: properly check for idle CPUs in pick_cpu() by @arighi in #369
- scx_utils: Utilize Entry API for BTreeMap insertion by @vax-r in #372
- scx_lavd: Reuse can_task1_kick_task2 by @vax-r in #373
- scx_rustland_core: include buddy-alloc and refactor allocator code by @arighi in #374
- Add stress-ng to scheduler tests by @hodgesds in #292
- Simplifying pacman-hooks by @sirlucjan in #378
- Revert "scx_flatcg: Keep cgroup rb nodes stashed" by @htejun in #375
- Add topo.nr_cpu_ids() to Topology crate by @Byte-Lab in #379
- rusty: Integrate stats with the metrics framework by @jfernandez in #377
- scx_lavd: revising tunables for less-preemptive games by @multics69 in #383
- scx_rusty: Refactor ridx assignment in populate_tasks_by_load by @vax-r in #382
- scx_rusty: Pull domain status check by @vax-r in #381
- README: add a link to Changwoo's blog post on scx (part 2) by @multics69 in #385
- scx_lavd: revising tunables to reduce micro-stutters by @multics69 in #386
- scx_rustland_core: smooth performance by @arighi in #380
- Add After=graphical.target into service by @sirlucjan in #387
- scx_utils: Add log_recorder module for metrics-rs by @jfernandez in #384
- Add build-id to build process by @Byte-Lab in #371
- Revert "Add After=graphical.target into service" by @sirlucjan in #390
- scx_lavd: tweaks to avoid fork starvation by @multics69 in #391
- Revert "scx_rusty: Refactor ridx assignment in populate_tasks_by_load" by @Byte-Lab in #393
- scx_utils: clarify error about missing CONFIG_DEBUG_INFO_BTF by @arighi in #394
- scx_lavd: optimization for communicaiton-intensive workloads and heavily-overloaded cases by @multics69 in #395
- Update libbpf commit hash by @otteryc in #396
- meson: restore previous libbpf version and update bpftool by @arighi in #400
- meson: run cargo build in release mode when using plain buildtype by @vnepogodin in #401
- meson: check if commit exists in remote git repos by @arighi in #402
- meson: introduce serialize build option by @arighi in #399
- scheds: introduce scx_bpfland by @arighi in #388
- scx_bpfland: properly integrate with meson build by @arighi in #403
- scheds: Add scx_bpfland scheduler to /etc/default/scx by @sirlucjan in #404
- scx_rusty: fix stats map initialization by @arighi in #407
- mitosis: Update synchronization by @dschatzberg in #389
- scx_bpfland: support CPU hotplugging by @arighi in #408
- scx_bpfland: use the right cpumask to find any idle CPU by @arighi in #409
- scx_rustland_core: Remove unused variable by @vax-r in #413
- scx_bpfland: enhance performance consistency and predictability by @arighi in #410
- scx_flatcg: Fix_typo by @vax-r in #411
- sched_utils: Add log recorder format customization by @jfernandez in #397
- scx_flatcg: Make good use of __sync_fetch_and_sub() by @vax-r in #412
- scx_bpfland: additional stats and output improvements by @arighi in #415
- bpfland: small improvements by @arighi in #416
- scx_bpfland: mitigations and additional statistics by @arighi in #418
- scx_lavd: improve virtual deadline and current clock handling by @multics69 in #417
New Contributors
- @vimproved made their first contribution in #350
- @Pprighi made their first contribution in #356
- @otteryc made their first contribution in #396
Full Changelog: v0.1.10...v1.0.0