Skip to content

v2.0.0 - Job Object Affinity

Choose a tag to compare

@Prohect Prohect released this 23 Jul 12:59
· 18 commits to master since this release

Breaking Changes

  • Config rule syntax now includes a required job_affinity field (3rd field) between priority and affinity. Add 0 to skip: name:priority:0:affinity:...
  • See migration guide in README

New Features

  • Kernel-enforced CPU affinity via Windows Job Objects (new job_affinity field) — prevents processes and children from running on excluded CPUs
  • New job_object.rs module with JobObjectManager for caching named job objects
  • New apply_job_object_affinity() in apply.rs
  • Config hot-reload updates job object affinity mask on alias redefinition

Improvements

  • Refactored main.rs to use proc_governor library crate (new lib.rs)
  • Non-grade loops now properly set alive status for scheduler tracking
  • Bug fix: reset_alive() scheduling fix for non-grade loops

Docs

  • Full documentation for all new types and functions in docs/en-US/ and docs/zh-CN/
  • Updated README with v1.x → v2.0 migration guide