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§

Enums§

  • WorkerGoal 🔒
    A goal, i.e. something that workers should work together to achieve.