gem5  v20.1.0.0
Public Member Functions | List of all members
__SchedulingPolicy< Policy > Class Template Reference

Intermediate class that derives from the i-face class, and implements its API. More...

#include <scheduling_policy.hh>

Inheritance diagram for __SchedulingPolicy< Policy >:
SchedulingPolicy

Public Member Functions

 __SchedulingPolicy ()
 
WavefrontchooseWave (std::vector< Wavefront * > *sched_list) override
 
- Public Member Functions inherited from SchedulingPolicy
 SchedulingPolicy ()
 

Detailed Description

template<typename Policy>
class __SchedulingPolicy< Policy >

Intermediate class that derives from the i-face class, and implements its API.

It uses the CRTP to take in the actual scheduling policy implementation as a template parameter. This allows us to use a pointer to SchedulingPolicy and instantiate whichever policy we want. The derived policies implement the scheduler arbitration logic using the static member method called __chooseWave();

Definition at line 60 of file scheduling_policy.hh.

Constructor & Destructor Documentation

◆ __SchedulingPolicy()

template<typename Policy >
__SchedulingPolicy< Policy >::__SchedulingPolicy ( )
inline

Definition at line 63 of file scheduling_policy.hh.

Member Function Documentation

◆ chooseWave()

template<typename Policy >
Wavefront* __SchedulingPolicy< Policy >::chooseWave ( std::vector< Wavefront * > *  sched_list)
inlineoverridevirtual

Implements SchedulingPolicy.

Definition at line 66 of file scheduling_policy.hh.


The documentation for this class was generated from the following file:

Generated on Wed Sep 30 2020 14:02:20 for gem5 by doxygen 1.8.17