Summary

Fix ZScheduler worker-state accounting so the scheduler doesn’t treat the searching count (low 16 bits) as the active worker count.

This prevents workers from entering “searching” mode too aggressively, reducing unnecessary state churn (and contributes to less park/unpark thrashing).

Change

  • Correctly extract active count from the high 16 bits of state.

Proof

Tests:

sbt -Dsbt.supershell=false 'coreTestsJVM/testOnly zio.internal.ZSchedulerSpecJVM'

See attached output in proof_9878_tests.txt.

/claim #9878

Claim

Total prize pool $850
Total paid $0
Status Pending
Submitted February 08, 2026
Last updated February 08, 2026

Contributors

TH

thecafetron-ctrl

@thecafetron-ctrl

100%

Sponsors

ZI

ZIO

@ZIO

$850