Scheduler Rewrite: per-core focus
DeanoBurrito opened this issue · 1 comments
Currently we have a single global scheduler, that all cores get their next thread from.
We're well overdue for a rewrite, I'd like to split the scheduler into a smaller thread list, that is per-core.
Occasionally cores will need to re-balance the number of threads in each work queue, probably with quieter cores stealing from more-loaded cores.
This may also be a good time to separate the idea of a process/thread manager, and a scheduler. Currently our scheduler is also responsible for managing processes and threads, it could be a nice idea to clean this up
As an extra feature: lets include a method for allocating program/kernel stacks that are tightly packed either either kernel or user space.
Edit: This is not really related to the scheduler. A similar feature has been implemented as part of ThreadGroup.