Skip to content

v3 rewrite: config v3 and physical-core thread pools

Latest

Choose a tag to compare

@Prohect Prohect released this 23 Aug 18:57
· 3 commits to master since this release

ProcGovernor v3

The v3 rewrite: a physical-core thread-pool engine and a new config format.

Highlights

  • Config v3 DSL (@version = 3): keyed, order-free, optional fields; @entry, @keep, @streak hysteresis defaults; repeatable prime+={...} and ideal+={...} pools. Adding a key is never a breaking change.
  • Portable CPU expressions: pcores, ecores, and all built-ins derived from hybrid P/E-core topology detection, so configs work across CPUs and HyperThreading on/off.
  • v3 engine (engine3): physical-core allocation, tier-1 membership debounce, deal-ring placement with sticky pins, per-pool hysteresis, cross-pool core ledger, and group-aware ideal-processor hints.
  • Migration tool: -migrate converts v2 configs to v3 (positional fields -> keyed, ?N tracking -> track=N, @ cpuset -> reset_ideal, *a*b chaining -> repeated pools).
  • CLI: new -topology and -validate modes; pg_worker diagnostic binary.
  • Docs: all module docs refreshed for the v3 engine (en-US, ASCII-only, link-resolved).

Compatibility

The v2 engine is unchanged and still runs legacy configs unchanged. v2 configs are routed automatically; use -migrate to move to v3.