|
The Pedigree Project
0.1
|
Inheritance diagram for RoundRobin:
Collaboration diagram for RoundRobin: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().
1.8.11