roadmap: remove RFC 004 spinning sections (3. Spinning workers, 4. RFC 004 bench + interaction pass)
The spinning experiment is excised from master. Drops the two dedicated v0.9 sections describing it. Inline RFC-004 mentions in the v0.9 intro and the queue-topology decision record are intentionally left for a manual short-term -plan pass.
This commit is contained in:
-15
@@ -88,21 +88,6 @@ it's a Config knob, not a feature rebuild). Same sweep as the rq shootout.
|
|||||||
Acceptance flips the default on and re-baselines for RFC 004.
|
Acceptance flips the default on and re-baselines for RFC 004.
|
||||||
This is done, see results annotated in RFC005.
|
This is done, see results annotated in RFC005.
|
||||||
|
|
||||||
### 3. Spinning workers (RFC 004)
|
|
||||||
Bounded spin-before-park for idle schedulers, killing the ~100 µs
|
|
||||||
`thread::sleep` worst case on cross-thread handoff. Two Config knobs:
|
|
||||||
`spin_budget_cycles` (0 recovers today's behaviour) and `max_spinners`
|
|
||||||
(default N/2); one new atomic `n_spinning`. No run-queue changes — lands on
|
|
||||||
the frozen `rq-mutex` substrate, independent of the slot mechanically.
|
|
||||||
Credit for the idea: Dennis Gustafsson - [Parallelizing the physics solver BSC 2025](https://www.youtube.com/watch?v=Kvsvd67XUKw).
|
|
||||||
|
|
||||||
### 4. RFC 004 bench + interaction pass
|
|
||||||
Re-run the sweep with spinning enabled, slot on and off. The known
|
|
||||||
interaction: once idle pickup latency ≪ slice, the slot's latency trade
|
|
||||||
(occupant waits out the waker's slice while other schedulers idle) may stop
|
|
||||||
paying — RFC 005's documented escape hatch is Go's "spinners exist → push
|
|
||||||
shared instead" check. In scope only if the data demands it.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Later
|
## Later
|
||||||
|
|||||||
Reference in New Issue
Block a user