scheduler: Only work steal higher priority threads from other cores

This commit is contained in:
Zach Hilman 2018-12-03 17:29:21 -05:00
parent 3476830b26
commit b5af41a07b
3 changed files with 24 additions and 35 deletions

View file

@ -48,14 +48,11 @@ public:
/// Unschedules a thread that was already scheduled
void UnscheduleThread(Thread* thread, u32 priority);
/// Moves a thread to the back of the current priority queue
void MoveThreadToBackOfPriorityQueue(Thread* thread, u32 priority);
/// Sets the priority of a thread in the scheduler
void SetThreadPriority(Thread* thread, u32 priority);
/// Gets the next suggested thread for load balancing
Thread* GetNextSuggestedThread(u32 core) const;
Thread* GetNextSuggestedThread(u32 core, u32 minimum_priority) const;
/**
* YieldWithoutLoadBalancing -- analogous to normal yield on a system