Module mmtk::scheduler::worker_goals
source · Expand description
This module contain “goals” which are larger than work packets, and describes what workers are working towards on a high level.
A “goal” is represented by a WorkerGoal
. All workers work towards a single goal at a time.
The current goal influences the behavior of GC workers, especially the last parked worker.
For example,
- When in the progress of GC, the last parker will try to open buckets or announce the GC has finished.
- When stopping for fork, every waken worker should save its thread state (giving in the
GCWorker
struct) and exit.
The struct WorkerGoals
keeps the set of goals requested by mutators, but GC workers will only
respond to one request at a time, and will favor higher-priority goals.
Structs§
- This current and reqeusted goals.
Enums§
- A goal, i.e. something that workers should work together to achieve.