Skip to content

Releases: sched-ext/scx

v1.0.4

06 Sep 04:14
fb35fdb
Compare
Choose a tag to compare

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

21 Aug 16:47
52d97c0
Compare
Choose a tag to compare

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

09 Aug 00:13
fd6aa89
Compare
Choose a tag to compare

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

v1.0.1

15 Jul 23:44
757cf6f
Compare
Choose a tag to compare

What's Changed

  • meson: fix RUSTFLAGS being appended incorrectly by @vnepogodin in #420
  • scx_lavd: improve time slice and waker freq calculation by @multics69 in #421
  • Sync to upstream kernel and bump to 1.0 by @htejun in #424
  • systemd: Drop temporarily disabled schedulers from service by @ptr1337 in #428
  • install_user_scheds: Skip packaging of scx_mitosis by @ptr1337 in #427
  • ci: Use latest upstream kernel and exclude scx_flatcg and scx_pair from testing by @arighi in #431
  • scx_bpfland: small improvements by @arighi in #429
  • scx_utils: Display the tag value for nested counters in log_recorder by @jfernandez in #432
  • Bump versions for 1.0.1 release by @htejun in #433

Full Changelog: v1.0.0...v1.0.1

v1.0.0

14 Jul 17:10
Compare
Choose a tag to compare

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 and scx_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

Full Changelog: v0.1.10...v1.0.0

v0.1.10

03 Jun 18:48
dfc642b
Compare
Choose a tag to compare

What's Changed

  • Sync to the latest kernel by @htejun in #253
  • ci: Also include gcc-multilib to fix CI by @Byte-Lab in #256
  • scx_rustland_core: relax compact unevictable memory constraint by @arighi in #255
  • scx_rustland: bump up version to 0.0.6 by @arighi in #257
  • Fix issue when CDPATH contains libbpf directory by @hodgesds in #259
  • Update README with instructions for building against local libbpf by @hodgesds in #258
  • scx_rusty: load balancing fixes by @danieljordan10 in #260
  • Update README with Slack invite link by @hodgesds in #262
  • Make scx_rusty interactive by @Byte-Lab in #261
  • ci: enable kvm support in the github workflow by @arighi in #265
  • common: Pull bpf_log2l() into helper function header by @Byte-Lab in #264
  • INSTALL: Add instructions for Nix by @ptr1337 in #267
  • README: Add missing link to Nix Install instructions by @ptr1337 in #268
  • scx_lavd: support CPU frequency scaling by @multics69 in #263
  • rusty: Support CPU hotplug onlining by @Byte-Lab in #266
  • Fix typo by @vax-r in #271
  • scx_rustland_core: use a BPF_MAP_TYPE_USER_RINGBUF to dispatch tasks by @arighi in #270
  • systemd-service: Don't restart always by @ptr1337 in #273
  • scx_lavd: support yield-based preemption by @multics69 in #274
  • scx_utils: report an explicit error when another scheduler is running by @arighi in #276
  • INSTALL.md: Add info about debug kernel on arch based by @ptr1337 in #277
  • topology: Support CONFIG_NUMA=n in Topology crate by @Byte-Lab in #278
  • rustland: reduce scheduling overhead by @arighi in #272
  • scx_rustland: maximize CPU utilization by @arighi in #279
  • scx_rustland: properly support offline CPUs by @arighi in #281
  • Add pacman hooks for systemd by @sirlucjan in #282
  • scx_lavd: add non-functional misc updates by @multics69 in #283
  • Fix typo by @vax-r in #284
  • scripts: Add script to measure runqlat for a process by @jfernandez in #285
  • scripts: whitespace cleanup for process_runqlat.bt by @jfernandez in #288
  • journal.conf: increase the size of the logs and drop unneeded options by @sirlucjan in #287
  • Avoid redundant substraction in rsigmoid_u64 by @vax-r in #290
  • scx_rustland: introduce low power mode by @arighi in #286
  • Add remaining hotplug pieces by @Byte-Lab in #289
  • Add missing skel.attach() calls by @htejun in #293
  • Sync from kernel (73f4013eb1eb) by @htejun in #291
  • scx_lavd: fix inconsistent indentation in main.bpf.c by @multics69 in #295
  • Fix warnings by @Byte-Lab in #294
  • meson: fix a build error for libbpf at release build by @multics69 in #297
  • Build: Make -Werror non-default by @Byte-Lab in #302
  • scx_simple: re-add __COMPAT_scx_bpf_switch_all() by @arighi in #298
  • simple: Add comment explaining use of SHARED_DSQ by @Byte-Lab in #303
  • meson: fix a build error for libbpf at release build by @sirlucjan in #301
  • Add pacman hooks for openrc by @sirlucjan in #300
  • scx_rustland: cleanups by @arighi in #299
  • scx_flatcg: Correct content error in comment by @vax-r in #304
  • scx_rustland: introduce fifo mode by @arighi in #305
  • scx_rustland: fix fifo mode support by @arighi in #306
  • scx_rustland: improve audio workload and performance predictability by @arighi in #307
  • Reduce MAX_ENQUEUED_TASKS to fit percpu allocator by @RinHizakura in #310
  • Update INSTALL.md with fedora c scheds info by @jordalgo in #311
  • scx_central: Provide backward compability by @vax-r in #314
  • scx_lavd: Enforce memory barrier in flip_sys_cpu_util by @vax-r in #318
  • Add openSUSE installation notes by @frelon in #316
  • Revert "scx_lavd: Enforce memory barrier in flip_sys_cpu_util" by @multics69 in #321
  • scx_layered: Improve affn_viol handling and implement dump method by @htejun in #312
  • scx_rustland_core: fix build error with musl by @arighi in #320
  • Document the needed BPF kernel config by @aruhier in #323
  • scx_lavd: Adding READ_ONCE()/WRITE_ONCE() macros by @vax-r in #322
  • README: Adding dependencies to allow compilation by @sirlucjan in #326
  • scx_rustland: get rid of --builtin-idle option by @arighi in #325
  • Bump versions for a release by @htejun in #327

New Contributors

Full Changelog: v0.1.9...v0.1.10

v0.1.9

29 Apr 19:09
3ee64a1
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.1.8...v0.1.9

v0.1.8

04 Apr 17:07
c6fda26
Compare
Choose a tag to compare

What's Changed

  • README: drop reference to old ABI /sys/kernel/debug/sched/ext by @arighi in #140
  • scx_rustland: improve kernel/user-space communication by @arighi in #142
  • scx_rustland: prevent misaligned pointer dereference by @arighi in #144
  • rust: Add topology module to utils crate by @Byte-Lab in #143
  • scx_rustland: additional comand line options by @arighi in #145
  • Add libbpf logging to rust schedulers by @jordalgo in #141
  • scx: Demote panic! to warn! in topology crate by @Byte-Lab in #146
  • layered: Fix static configuration, and dispatch for Grouped layers by @Byte-Lab in #148
  • Refresh after attach by @Byte-Lab in #150
  • scx_layered: Add MATCH_NICE_EQUALS match kind by @davemarchevsky in #149
  • Add cpumask.rs crate by @Byte-Lab in #152
  • Topology refactor by @Byte-Lab in #154
  • scheds/sync-to-kernel.sh: Warn and skip if destination file is missing instead of failing by @htejun in #156
  • scx_rustland: cpu topology refactoring by @Byte-Lab in #155
  • common: Cosmetic change for consistency by @htejun in #157
  • sync-to-kernel.sh: Sync scx_central and scx_flatcg by @htejun in #158
  • ci: eclude scx_qmap and scx_userland from testing by @arighi in #160
  • Gate cargo build options behind 'enable_rust' by @jordalgo in #162
  • Add new infeasible.rs crate by @Byte-Lab in #159
  • Introduce scx_rustland_core: a generic layer to implement user-space schedulers in Rust by @arighi in #161
  • scx: update /etc/default/scx by @sirlucjan in #164
  • build: limit the maximum amount of parallel cargo build by @arighi in #165
  • Add libbpf as a submodule by @jordalgo in #163
  • Revert "Merge pull request #163 from jordalgo/libbpf-submodule" by @htejun in #166
  • Revert "Merge pull request #165 from sched-ext/reduce-rust-build-load" by @htejun in #167
  • Add libbpf as a submodule (take 2) by @jordalgo in #168
  • scx_rustland_core: API improvements by @arighi in #169
  • meson-scripts/build_libbpf: Accommodate meson setting CC to "ccache $COMPILER" by @htejun in #170
  • scx_rlfifo: warn user about performance by @arighi in #173
  • Always build libbpf as a PIE by @jordalgo in #172
  • Libbpf - add BUILD_STATIC_ONLY flag by @jordalgo in #174
  • [trivial] docs: Update rhone link by @Byte-Lab in #175
  • Remove libbpf as a submodule by @jordalgo in #177
  • Update README.md by @htejun in #182
  • scx_rustland_core: use new consume_raw() libbpf-rs API by @arighi in #180
  • scx_rustland: interactive tuning by @arighi in #181
  • Revert "scx_rustland_core: use new consume_raw() libbpf-rs API" by @arighi in #183
  • Fetch and build bpftool by default by @jordalgo in #179
  • rusty: Implement NUMA-aware load balancing by @Byte-Lab in #178
  • scx_flatcg: Keep cgroup rb nodes stashed by @davemarchevsky in #33
  • scx_layered: Implement layer properties exclusive and min_exec_us by @htejun in #185
  • scx_layered: Make config json assume default vaules for unspecified fields by @htejun in #187
  • Better parsing for clang version by @leitao in #190
  • scx_rustland: mitigate sub-optimal performance with offline CPUs by @arighi in #189
  • rusty: Account for disabled but offline CPUs by @Byte-Lab in #191
  • topology: support single CPU systems by @arighi in #188
  • scx_lavd: add LAVD (Latency-criticality Aware Virtual Deadline) scheduler by @multics69 in #192
  • scx: update /etc/default/scx by @sirlucjan in #193
  • scx_lavd: addressed comments from PR #192 by @multics69 in #194
  • topology: Fall back to cache 0 by @Byte-Lab in #196
  • layered: Make helper functions static by @Byte-Lab in #198
  • scx_lavd: improve virtual deadline calculation by @multics69 in #197
  • layered: Use TLS map instead of hash map by @Byte-Lab in #200
  • scx_lavd: Clean up task state transition tracking by @htejun in #199
  • scx_lavd: fix merge conflicts between PR 197 and 199 by @multics69 in #201
  • scx_lavd: directly accumulate task's runtimes for consecutive runnings by @multics69 in #204
  • rusty: Check LOCAL_DSQ length for WAKE_SYNC by @Byte-Lab in #206
  • scx: Apply API updates from sched_ext by @htejun in #207
  • Update cachyos-keyring by @sirlucjan in #208
  • Update Arch install instruction in README.md by @htejun in #209
  • Add install instructions for Fedora by @jordalgo in #210
  • Doc & build: Warn about sccache by @htejun in #212
  • openrc init support by @nycko123 in #211
  • ci: make test build more robust by @arighi in #213
  • scx_rustland_core: re-introduce consume_raw() libbpf-rs API by @arighi in #214

New Contributors

Full Changelog: v0.1.7...v0.1.8

v0.1.7

13 Feb 11:34
d790bdb
Compare
Choose a tag to compare

What's Changed

  • Bump versions by @htejun in #105
  • ci: print the latest commit of the checked out sched-ext kernel by @arighi in #106
  • scx_layered: Fix AFFN_VIOL stat bump by @dschatzberg in #107
  • systemd-services: setting conflict between schedulers by @sirlucjan in #108
  • Reworking systemd-service and adding a config file by @sirlucjan in #109
  • Make meson.build more readable by @sirlucjan in #112
  • scx_layered: small idle_cpumask cleanups by @dschatzberg in #111
  • Add BREAKING_CHANGES.md by @jordalgo in #113
  • [scx_layered] downgrade prometheus-client by @jordalgo in #115
  • scx_layered: dispatch from select_cpu if possible by @dschatzberg in #114
  • Add user_exit_info support to scx_utils and convert the rust scheds accordingly by @htejun in #116
  • docs: Update OVERVIEW to match latest APIs by @Decave in #118
  • scx_rustland: per-CPU DSQs + global shared DSQ by @arighi in #110
  • scheds/sync-to-kernel.sh: Drop most schedulers from sync by @htejun in #119
  • Include libbpf_h path in c sched compilation by @jordalgo in #120
  • scx_rustland: prevent duplicate PIDs in the task BTreeSet by @arighi in #121
  • common.bpf.h: Add kfunc prototype for scx_bpf_dispatch_cancel() by @htejun in #122
  • scx_userland: Print warning about poor performance by @Decave in #124
  • ci: Only do CI runs for pull requests by @Decave in #125
  • Add linux-sched-ext to CachyOS repo by @sirlucjan in #126
  • ci: detect errors only from stderr by @arighi in #128
  • scx: Update vmlinux to use SCX_KICK_IDLE by @htejun in #131
  • scx_rustland: fix cpumask stall and prevent stuttery behavior by @arighi in #132
  • Implement solution to infeasible weights problem by @Decave in #129
  • scx_rustland: per-task cpumask generation counter by @arighi in #133
  • scx_rustland: performance improvements by @arighi in #136
  • scx_utils: use c_char to prevent build failures by @arighi in #137
  • Bump to 0.1.7 by @sirlucjan in #138

Full Changelog: v0.1.6...v0.1.7

SCX v0.1.6

25 Jan 19:05
Compare
Choose a tag to compare

What's Changed

  • scx_rustland: small updates by @arighi in #77
  • ci: temporarily switch to ppa:arighi/sched-ext-unstable by @arighi in #78
  • scx_rustland: time slice boost by @arighi in #81
  • scx_flatcg: introduce CGROUP_MAX_RETRIES by @arighi in #80
  • scx_flatcg: Fix fallout from direct dispatch API update by @htejun in #82
  • scx_rustland: Update README.md by @htejun in #83
  • Update README.md to include terraria video by @htejun in #84
  • scx_rustland: voluntary context switch boost by @arighi in #85
  • scx_rustland: remove obsolete TODO note by @arighi in #86
  • scx_userland: use a custom memory allocator to prevent page faults by @arighi in #87
  • scx_rustland: introduce SMT support by @arighi in #90
  • Add systemd services for scx schedulers by @sirlucjan in #88
  • scx_rustland: introduce dynamic slice boost by @arighi in #91
  • scx_nest: Set timer callback after cancelling by @Decave in #92
  • scx-rustland: SMT improvements by @arighi in #94
  • Set log size to 10M by @sirlucjan in #93
  • ci: test the shedulers with the latest sched-ext kernel by @arighi in #95
  • Set the correct value for sched-ext journald namespace by @sirlucjan in #97
  • Update descriptions in cargo toml files by @jordalgo in #98
  • scx_rustland: fixes to improve scheduler stability by @arighi in #99
  • Add README.md for systemd services by @sirlucjan in #100
  • systemd-services: replace ConditionPathExists with ConditionPathIsDirectory by @sirlucjan in #102
  • Update vmlinux.h by @dschatzberg in #103
  • user_exit_info: Print out debug dump if available by @htejun in #104
  • scx_layered: Add support for OpenMetrics format by @dschatzberg in #101

New Contributors

Full Changelog: v0.1.5...v0.1.6