The Pedigree Project
0.1
|
Public Member Functions | |
RoundRobin () | |
virtual | ~RoundRobin () |
virtual void | addThread (Thread *pThread) |
virtual void | removeThread (Thread *pThread) |
virtual Thread * | getNext (Thread *pCurrentThread) |
virtual void | threadStatusChanged (Thread *pThread) |
Public Member Functions inherited from SchedulingAlgorithm | |
virtual | ~SchedulingAlgorithm () |
Private Types | |
typedef List< Thread * > | ThreadList |
Static Private Member Functions | |
static bool | isReady (Thread *pThread) |
Private Attributes | |
ThreadList | m_pReadyQueues [MAX_PRIORITIES] |
Spinlock | m_Lock |
Definition at line 30 of file RoundRobin.h.
RoundRobin::RoundRobin | ( | ) |
Constructor.
Definition at line 29 of file RoundRobin.cc.
|
virtual |
Destructor.
Definition at line 33 of file RoundRobin.cc.
|
virtual |
Adds a new thread to be scheduled.
Implements SchedulingAlgorithm.
Definition at line 37 of file RoundRobin.cc.
Return the next thread that should be scheduled for the given Processor.
pProcessor | The Processor for which the scheduling should take place - this is provided for heuristic purposes (core affinity etc). |
Implements SchedulingAlgorithm.
Definition at line 59 of file RoundRobin.cc.
References List< T, nodePoolSize >::popFront().
|
virtual |
Removes a thread - this thread should no longer be scheduled.
Implements SchedulingAlgorithm.
Definition at line 41 of file RoundRobin.cc.
References List< T, nodePoolSize >::end(), and List< T, nodePoolSize >::erase().
|
virtual |
Notifies us that the status of a thread has changed, and that we may need to take action.
Implements SchedulingAlgorithm.
Definition at line 81 of file RoundRobin.cc.
References assert, List< T, nodePoolSize >::begin(), List< T, nodePoolSize >::end(), Thread::getStatus(), and List< T, nodePoolSize >::pushBack().