Skip to content

Tweak scheduling so the IO completer can use the laws priorityQueues

  1. Switch from the STL iterator based to a C-style array batched schedule interface
    template<class Iterator> schedule(Iterator begin, Iterator finish) -> schedule(Fiber** fibers, unsigned count)
  2. Schedule Fibers from anywhere with set affinity to the AnywhereQueue and the hinted priorityQueue
  3. Introduce worker hints to the scheduleFromAnywhere functions to allow the completer to hint the origin IoContext

I want this to experiment with the IO completer and laws. To see if scheduling completions reaped by the completer also to the worker priorityQueue is beneficial. Maybe the benefit of faster dispatch from priorityQueue vs AnywhereQueue is worth the laws overhead especially in scenarios where the completer reaps a significant chunk of all completions (20 Worker eval).

Merge request reports

Loading